PostgreSQL IN 运算符


这个IN运算符允许您在 WHERE 子句中指定可能值的列表。

这个IN运算符是多个的简写OR状况。

示例

返回来自“德国”、“法国”或“英国”的所有客户:

SELECT * FROM customers
WHERE country IN ('Germany', 'France', 'UK');
运行示例 »

不在

通过使用NOT前面的关键字IN运算符,您将返回不属于列表中任何值的所有记录。

示例

返回所有非“德国”、“法国”或“英国”的客户:

SELECT * FROM customers
WHERE country NOT IN ('Germany', 'France', 'UK');
运行示例 »

输入(选择)

您还可以给我们一个SELECT括号内的语句返回结果中的所有记录SELECT陈述。

示例

返回所有有订单的客户orders表格:

SELECT * FROM customers
WHERE customer_id IN (SELECT customer_id FROM orders);
运行示例 »

不在(选择)

上例中的结果返回了89条记录,这意味着有2个客户还没有下订单。

让我们检查一下这是否正确,使用NOT IN运算符。

示例

返回所有未下订单的客户orders表格:

SELECT * FROM customers
WHERE customer_id NOT IN (SELECT customer_id FROM orders);
运行示例 »

PostgreSQL 练习

通过练习测试一下

练习:

选择所有客户country字段是以下列表中的值之一:

(“挪威”、“瑞典”、“丹麦”)

SELECT * FROM customers
WHERE country ;
        

开始练习