PostgreSQL EXISTS 运算符
EXISTS
The EXISTS
运算符用于测试子查询中是否存在任何记录。
如果子查询返回一个或多个记录,则 EXISTS
运算符返回 TRUE。
示例
返回在 orders
表中表示的所有客户
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
表中**未**表示的所有客户
SELECT customers.customer_name
FROM customers
WHERE NOT EXISTS (
SELECT order_id
FROM orders
WHERE customer_id = customers.customer_id
);
运行示例 »