Convert SQL-Abfrage zur Verwendung von Set-Operatoren
Ich muss eine SQL-Abfrage (Oracle) mit einem Set-Operator abschließen, habe jedoch Schwierigkeiten zu verstehen, wie sie implementiert werden würde.
Schema
Customer (ID, firstName, lastName) - PrimaryKey: ID
Transaction (code, type, date, amount) - PrimaryKey: code
performs(code*, ID*) - PrimaryKey: code - ForeignKey: ID
Die Abfrage muss die Customer.ID von Personen anzeigen, die eine oder weniger Transaktionen abgeschlossen haben. Ich kann dies folgendermaßen abschließen:
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;
Aber ich habe Mühe, herauszufinden, wie man einen Mengenoperator verwendet, um das Gleiche zu erreichen. Ich glaube, ich sollte INTERSECT verwenden.
Jede Hilfe wäre dankbar!