SQL IN


使用SQL IN查询列值在某一组值中的行。

在本教程中,您将学习如何使用SQL IN操作符来选择列值位于一组值中的行。

IN操作符在WHERE子句中用于选择其值位于一组值中的行。
您可以在任何接受WHERE子句(如SELECT、UPDATE或DELETE)的SQL语句中使用IN 操作符。

下面是如何在SELECT语句中使用IN:

1
2
3
4
5
6
SELECT
column1, column2,...
FROM
table_name
WHERE
(expr | column) IN (value1 , value2, ...);

如果列的表达式或者值与列表中的值匹配,则IN操作符返回TRUE,否则返回FALSE。

SQL IN 示例

例如,要选择成本为$90、$92或$100的产品,您可以执行以下查询:

1
2
3
4
5
6
SELECT
productid, unitcost
FROM
item
WHERE
unitcost IN (90 , 92, 100)

SQL IN 和 SQL OR 的比较

使用IN操作符可以避免在WHERE子句中使用多个OR操作符。

例如上面的查询语句可以重写为:

1
2
3
4
5
6
7
8
SELECT
productid, unitcost
FROM
item
WHERE
unitcost = 90 OR
unitcost = 92 OR
unitcost = 100

当值越来越多时,使用OR操作符的话查询语句就会变得不方便阅读。

SQL IN操作符和NOT 一起使用

IN操作符可以与NOT操作符组合来选择其列值不在一组值中的行。

例如,您可以使用以下查询选择成本不是90、92和100的产品:

1
2
3
4
5
6
SELECT
productid, unitcost
FROM
item
WHERE
unitcost NOT IN (90 , 92, 100)


原文链接:https://codingdict.com/