IN的作用
IN运算符允许您在WHERE子句中指定多个值。
IN运算符是多个OR条件的简写。
IN的语法
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);
或者
SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT);
示例数据库
以下数据选取自"Customers" 表:
IN的实例
以下SQL语句选择省份位于“上海市”,“北京市”和“广东省”的所有客户:
代码示例:
SELECT * FROM Customers WHERE 省份 IN ('上海市', '北京市', '广东省');
结果:
可以看到省份那一列都是IN里面的数据
以下SQL语句选择不在“浙江省”,“上海市”或“北京市”中的所有客户:
代码示例:
SELECT * FROM Customers WHERE 省份 NOT IN ('浙江省', '上海市', '北京市');
结果:
可以看到省份那一列排除了 IN里面的那些数据,因为这里是NOT,就是排除的意思。
以下SQL语句选择来自同一城市的所有客户作为供应商"Suppliers":
我们先看一下供应商"Suppliers"表里的内容:
代码示例:
SELECT * FROM Customers WHERE 城市 IN (SELECT 城市 FROM Suppliers);
结果:
我们看到,供应商Suppliers表里只有城市为上海,才与客户Customers表里城市也为上海的数据能对应上。所以这里IN的作用是取两个表都有的数据才会被查询出来。
批注
IN的作用就是将需要查找的内容列出来放在后面的括号里,也可以将子查询的结果放在括号内,这样IN就只找符合括号里的内容,从而起到筛选的作用。另外IN里面可以放多种数据类型,常见的包括日期,字符,数值等类型。