SQL IN 操作符

本章节讲解 IN 操作符的用法。


IN 操作符

IN 操作符允许我们在 WHERE 语句中规定多个值。

NOT IN 操作符与 IN 的效果是相反的。

SQL IN 语法
  1. SELECT column_name(s)
  2. FROM table_name
  3. WHERE column_name IN (value1,value2,...)

原始的表 (在实例中使用:)

Persons 表:

IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing

IN 操作符实例

现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

我们可以使用下面的 SELECT 语句:

  1. SELECT * FROM Persons
  2. WHERE LastName IN ('Adams','Carter')
结果集:
IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
3CarterThomasChangan StreetBeijing

NOT IN 操作符实例

相反,我们希望从上表中选取姓氏不为 Adams 和 Carter 的人:

  1. SELECT * FROM Persons
  2. WHERE LastName NOT IN ('Adams','Carter')
结果集:
IdLastNameFirstNameAddressCity
2BushGeorgeFifth AvenueNew York

注意:IN 的条件过多,会导致索引失效。
注意:IN 的条件过多,返回的数据会很多,可能会导致应用堆内内存溢出。