SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总 ** 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里面可以放多种数据类型,常见的包括日期,字符,数值等类型。