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
);
运行示例 »