📜  PostgreSQL – EXISTS 运算符

📅  最后修改于: 2022-05-13 01:57:14.867000             🧑  作者: Mango

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;

输出: