SQL IN 操作符
本章节讲解 IN
操作符的用法。
IN 操作符
IN
操作符允许我们在 WHERE 语句中规定多个值。
NOT IN
操作符与 IN
的效果是相反的。
SQL IN 语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
原始的表 (在实例中使用:)
Persons 表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
IN 操作符实例
现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
3 | Carter | Thomas | Changan Street | Beijing |
NOT IN 操作符实例
相反,我们希望从上表中选取姓氏不为 Adams 和 Carter 的人:
SELECT * FROM Persons
WHERE LastName NOT IN ('Adams','Carter')
结果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
注意:IN 的条件过多,会导致索引失效。
注意:IN 的条件过多,返回的数据会很多,可能会导致应用堆内内存溢出。
注意:IN 的条件过多,返回的数据会很多,可能会导致应用堆内内存溢出。