PostgreSQL EXISTS 運算子
EXISTS
EXISTS
運算子用於測試子查詢中是否存在任何記錄。
如果子查詢返回一條或多條記錄,EXISTS
運算子將返回 TRUE。
示例
返回 orders
表中存在的 customers
表的所有客戶
SELECT customers.customer_name
FROM customers
WHERE EXISTS (
SELECT order_id
FROM orders
WHERE customer_id = customers.customer_id
);
執行示例 »
上面示例的結果顯示,有 89 位客戶在 orders
表中有至少一個訂單。
NOT EXISTS
要檢查哪些客戶沒有任何訂單,我們可以將 NOT
運算子與 EXISTS
運算子一起使用。
示例
返回 orders
表中不存在的 customers
表的所有客戶
SELECT customers.customer_name
FROM customers
WHERE NOT EXISTS (
SELECT order_id
FROM orders
WHERE customer_id = customers.customer_id
);
執行示例 »