SQL Server (Transact-SQL) IN 关键字用于指定 WHERE 子句。它是多个 OR 条件的简写。
语法
在 SQL Server (Transact-SQL) 中使用 IN 关键字的语法如下:
SELECT column1, column2, column3, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);
示例:
考虑一个数据库,其中包含一个名为 Employee 的表,其中包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
选择 Employee 表中 City 为 London、Paris 或 Amsterdam 的所有记录,查询如下。
SELECT * FROM Employee
WHERE City IN ('London', 'Paris', 'Amsterdam');
这将产生如下所示的结果:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
还可以使用 SELECT 语句指定 IN 关键字的多个值。
SELECT * FROM Employee
WHERE City IN (SELECT City from Employee);
这将产生如下所示的结果:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |