SQL IN 操作符
本章节讲解 IN 操作符的用法。
IN 操作符
IN 操作符允许我们在 WHERE 语句中规定多个值。
NOT IN 操作符与 IN 的效果是相反的。
SQL IN 语法
SELECT column_name(s)FROM table_nameWHERE 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 PersonsWHERE 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 PersonsWHERE LastName NOT IN ('Adams','Carter')
结果集:
| Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 2 | Bush | George | Fifth Avenue | New York |
注意:IN 的条件过多,会导致索引失效。
注意:IN 的条件过多,返回的数据会很多,可能会导致应用堆内内存溢出。
注意:IN 的条件过多,返回的数据会很多,可能会导致应用堆内内存溢出。