PostgreSQL IN、Not IN 举例说明
什么是 PostgreSQL 在 ?
IN 运算符用于 WHERE 子句中,允许检查某个值是否存在于其他值列表中。 Operation 有助于减少 SELECT、UPDATE、INSERT 或 DELETE 语句中对多个 OR 条件的需要。
句法
IN 运算符采用以下语法:
value IN (value_1, value_2, ...)
该值是您在列表中检查的值。
value_1、value_2… 是列表值。
如果在列表中找到该值,则运算符将返回 true。
该列表可以是一组字符串,也可以是 选择语句 如下图所示:
value IN (SELECT value FROM table-name);
括号内的语句称为子查询。
具有特色
让我们演示如何将 IN 运算符与字符值一起使用。
请考虑下表:
员工人数:
让我们针对上表运行以下查询:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
它返回以下内容:
我们有一个包含三个姓名的列表。我们正在搜索是否可以在 Employees 表的 name 列中找到这些姓名中的任何一个。Kate Joel 与表的一条记录匹配,并返回了其详细信息。
使用数字
现在,让我们看看如何将 IN 运算符与数值一起使用。
考虑下面给出的价格表:
价格:
我们可以对该表运行以下查询:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
这将返回以下内容:
我们创建了一个包含 4 个数值的列表。我们正在检查是否可以将这些值中的任何一个与 Price 表的价格列中包含的值匹配。两个值匹配,并返回了它们的详细信息。
使用 NOT 运算符
IN 运算符可以与 NOT 运算符一起使用。它返回在指定列中未找到的值。我们将使用 Price 表来演示这一点。
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
这将返回以下内容:
我们创建了一个包含 4 个数值的列表。我们正在检查价格表的价格列中是否存在不属于该列表的值。未找到两个值 250 和 300。因此已返回它们的详细信息。
使用 pgAdmin
现在让我们看看如何使用 pgAdmin 执行操作。
具有特色
要通过 pgAdmin 完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤3) 在查询编辑器中输入查询:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
步骤4) 单击执行按钮。
它应该返回以下内容:
使用数字
要通过 pgAdmin 完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤3) 在查询编辑器中输入查询:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
步骤4) 单击执行按钮。
它应该返回以下内容:
使用 NOT 运算符
要通过 pgAdmin 完成相同操作,请执行以下操作:
步骤1) 登录您的 pgAdmin 帐户。
步骤2)
- 从左侧导航栏中单击数据库。
- 单击“演示”。
步骤3) 在查询编辑器中输入查询:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
步骤4) 单击执行按钮。
它应该返回以下内容:
总结
- IN 运算符与 WHERE 运算符一起使用。它允许检查特定表中是否存在特定值。
- IN 运算符有助于减少 SELECT、UPDATE、INSERT 或 DELETE 语句中对多个 OR 运算符的需求。
- 创建字符列表来检查值是否存在时,列表中的每个值都应用单引号引起来。
- IN 运算符也可以与数值一起使用。
- 当 IN 运算符与 NOT 运算符一起使用时,它将返回在指定列中未找到的所有值。