EXISTS 條款
客戶表
ID |
名字 | 姓 |
---|---|---|
1 |
ÖzgUr | OZTURK |
2 |
優素福 | MEDI |
3 |
亨利 | 泰 |
訂單表
ID |
顧客 ID | 量 |
---|---|---|
1 |
2 | 123.50 |
2 |
3 | 14.80 |
為所有客戶提供至少一個訂單
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
結果
ID |
名字 | 姓 |
---|---|---|
2 |
優素福 | MEDI |
3 |
亨利 | 泰 |
讓所有客戶無需訂購
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
結果
ID |
名字 | 姓 |
---|---|---|
1 |
ÖzgUr | OZTURK |
目的
EXISTS
,IN
和 JOIN
有時會用於相同的結果,但是,它們不等於:
EXISTS
應該用於檢查另一個表中是否存在值IN
應該用於靜態列表- 應使用
JOIN
從其他(s)表中檢索資料