Convertir consulta SQL para usar operadores de conjuntos
Necesito completar una consulta SQL (Oracle) utilizando un operador de conjunto, pero me cuesta entender cómo se implementaría.
Esquema:
Customer (ID, firstName, lastName) - PrimaryKey: ID
Transaction (code, type, date, amount) - PrimaryKey: code
performs(code*, ID*) - PrimaryKey: code - ForeignKey: ID
La consulta debe mostrar el Customer.ID de las personas que han completado una o menos transacciones. Puedo completar esto usando lo siguiente:
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;
Pero estoy luchando para encontrar la manera de usar un Operador de conjunto para lograr lo mismo. Creo que debería estar usando INTERSECT.
¡Cualquier ayuda sería apreciada!