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'的数据行。