PostgreSQL – EXISTS 运算符
在 PostgreSQL 中,EXISTS运算符用于测试子查询中是否存在 Rose。它通常与相关子查询一起使用。如果子查询至少返回一行,则 EXISTS 的结果为真。如果子查询没有返回任何行,结果是 EXISTS 为 false。
Syntax: EXISTS (subquery)
在本文中,我们将使用示例 DVD 租赁数据库,此处进行了说明,可以通过单击示例中的此链接进行下载。
示例 1:
在这里,我们将使用我们示例数据库的“customer”和“payment”表查询至少有一笔金额大于 9 美元的客户。
SELECT first_name,
last_name
FROM customer c
WHERE EXISTS
(SELECT 1
FROM payment p
WHERE p.customer_id = c.customer_id
AND amount > 9 )
ORDER BY first_name,
last_name;
输出:
示例 2:
在这里,我们将使用示例数据库的“film”和“inventory”表查询库存中没有的电影。
SELECT title
FROM film f
WHERE NOT EXISTS
(SELECT 1
FROM inventory i
WHERE f.film_id = i.film_id )
ORDER BY title;
输出: