Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SQL 教程

SQL 主页 SQL 简介 SQL 语法 SQL 选择 SQL 选择 Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL 插入到 SQL 空值 SQL 更新 SQL 删除 SQL 选择 Top SQL 聚合函数 SQL 最小值和最大值 SQL 计数 SQL 求和 SQL 平均值 SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL 连接 SQL 内连接 SQL 左连接 SQL 右连接 SQL 全连接 SQL 自连接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL 插入到 Select SQL Case SQL 空值函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 备份数据库 SQL 创建表 SQL 删除表 SQL 修改表 SQL 约束 SQL 非空 SQL 唯一 SQL 主键 SQL 外键 SQL 检查 SQL 默认值 SQL 索引 SQL 自动递增 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考资料

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL 集训营 SQL 证书

SQL IN 运算符


SQL IN 运算符

The IN operator 允许您在 WHERE 子句中指定多个值。

The IN operator 是多个 OR 条件的简写。

示例

返回来自 'Germany', 'France', 或 'UK' 的所有客户

SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
自己试一下 »

语法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);


演示数据库

以下是从 Customers 表中选择的示例数据,用于示例

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


NOT IN

IN 运算符前面使用 NOT 关键字,您可以返回列表中不包含任何值的记录。

示例

返回所有不来自 'Germany', 'France', 或 'UK' 的客户

SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');
自己试一下 »

IN (SELECT)

您还可以在 WHERE 子句中使用带有子查询的 IN

使用子查询,您可以返回主查询中存在于子查询结果中的所有记录。

示例

返回 Orders 表中具有订单的所有客户

SELECT * FROM Customers
WHERE CustomerID IN (SELECT CustomerID FROM Orders);
自己试一下 »

NOT IN (SELECT)

上面的示例结果返回了 74 条记录,这意味着有 17 个客户没有下任何订单。

让我们使用 NOT IN 运算符来检查一下是否正确。

示例

返回 Orders 表中没有下任何订单的所有客户

SELECT * FROM Customers
WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);
自己试一下 »

通过练习测试自己

练习

使用 IN 运算符选择所有 Country 为 "Norway" 或 "France" 的记录。

SELECT * FROM Customers
 
'France';

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.