MySQL IN 操作符

时间:2019-02-04 12:52:25  来源:igfitidea点击:

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

语法

MySQL中IN操作符的语法为:

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

MySQL IN 操作符示例

示例-字符串比较

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

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

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

SELECT *
FROM employees
WHERE LastName = 'Buchanan'
OR LastName = 'Dodsworth'
OR LastName = 'King';

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

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

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

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

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

上面的IN语句等同于:

SELECT *
FROM suppliers
WHERE SupplierID = 3
OR SupplierID = 15
OR SupplierID = 23
OR SupplierID = 28;

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

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

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