PostgreSQL – NOT IN运算符
PostgreSQL的NOT IN运算符的作用完全相反的IN运算符。它用于过滤查询结果,从值列表中排除指定的值。
使用 NOT IN运算符和 WHERE 子句来检查值列表(指定值除外)的语法,该列表根据匹配返回布尔值,如下所示:
Syntax: value NOT IN (value1, value2, …)
与 SELECT 语句相比,使用 NOT IN运算符返回匹配值(指定值除外)的语法如下:
Syntax: value NOT IN (SELECT value FROM tbl_name);
在本文中,我们将使用示例 DVD 租赁数据库,在此处进行了说明,可以通过单击此链接进行下载。
现在,让我们看几个例子。
示例 1:
在这里,我们将从示例数据库中的“rental”表中查询 customer_id 不是 10 或 12 的所有租赁。
SELECT
customer_id,
rental_id,
return_date
FROM
rental
WHERE
customer_id NOT IN (10, 12);
输出:
示例 2:
在这里,我们将从示例数据库中的“customer”表中查询 customer_id 不是 10 或 12 的所有客户。
SELECT
customer_id,
first_name,
last_name
FROM
customer
WHERE
customer_id NOT IN (10, 12);
输出: