Преобразование SQL-запроса в операторы множеств
Мне нужно выполнить SQL-запрос (Oracle) с помощью оператора Set, но я изо всех сил пытаюсь понять, как он будет реализован.
Схема:
Customer (ID, firstName, lastName) - PrimaryKey: ID
Transaction (code, type, date, amount) - PrimaryKey: code
performs(code*, ID*) - PrimaryKey: code - ForeignKey: ID
Запрос должен отображать Customer.ID людей, которые завершили одну или несколько транзакций. Я могу завершить это с помощью следующего:
SELECT C.ID
FROM CUSTOMER C
INNER JOIN PERFORMS P
ON C.ID = P.ID
INNER JOIN TRANSACTION T
ON T.CODE = P.CODE
GROUP BY C.ID
HAVING COUNT(T.CODE) <= 1;
Но я изо всех сил пытаюсь понять, как использовать оператор Set для достижения того же. Я считаю, что я должен использовать INTERSECT.
Любая помощь будет оценена!