MySQL IN 操作符


在SELECT,INSERT,UPDATE或DELETE语句中,IN操作符用于帮助减少使用多个OR操作符的情况。

语法

MySQL中IN操作符的语法为:

1
2
3
expression IN (value1, value2, .... value_n);
或者
expression IN (subquery);
参数 说明
expression 要查询的字段的值
value1,value2,...或value_n 候选值。如果这些值中的任何一个与expression匹配,则结果为TRUE。
subquery 子查询 这是一条SELECT语句,其结果集中的值用于和expression比较。

MySQL IN 操作符示例

示例-字符串比较

1
2
3
SELECT *
FROM employees
WHERE LastName IN ('Buchanan', 'Dodsworth', 'King');

此MySQL IN操作符示例将返回employees表中的LastName为Buchanan,Dodsworth或King的行。

上面的IN示例等效于以下SELECT语句:

1
2
3
4
5
SELECT *
FROM employees
WHERE LastName = 'Buchanan'
OR LastName = 'Dodsworth'
OR LastName = 'King';

可以看到使用MySQL IN操作符的语句更容易阅读, 更简洁。

示例-IN操作符中使用数字

让我们来看一个使用数值的MySQL IN操作符示例。

1
2
3
SELECT *
FROM suppliers
WHERE SupplierID IN (3, 15, 23, 28);

此MySQL IN操作符示例将返回SupplierID为3,15,23,28的供应商。

上面的IN语句等同于:

1
2
3
4
5
6
SELECT *
FROM suppliers
WHERE SupplierID = 3
OR SupplierID = 15
OR SupplierID = 23
OR SupplierID = 28;

示例-IN操作符和NOT操作符一起使用

1
2
3
SELECT *
FROM employees
WHERE LastName NOT IN ('Buchanan', 'Dodsworth', 'King');

NOT 用于取反。即筛选出名字不是'Buchanan', 'Dodsworth', 'King'的数据行。


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