我需要使用Set運算符來完成SQL查詢(Oracle),但我很難理解它將如何實現。轉換SQL查詢以使用設置運算符
模式:
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;
但是,我奮力工作,如何使用集合運算符來實現同樣的事情。我相信我應該使用INTERSECT。
任何幫助,將不勝感激!
我的賭注是在課程上的工作。而你錯過了數據庫標籤 –
爲什麼?這裏沒有理由使用set操作符。 JOIN/IN/EXISTS是這裏的默認選項 –
@haytem因爲老師想要教他們做什麼課程? –