如何在 SQL 中使用 IN2025年3月17日 | 阅读 8 分钟 在本 SQL 文章中,您将学习如何在 SQL 数据库的查询中使用 IN 关键字。 SQL 中的 IN 关键字是什么?IN 是结构化查询语言中的一个逻辑运算符,它允许数据库用户在 WHERE 子句中定义多个值。 带有 IN 运算符的 WHERE 子句会显示与给定值集匹配的记录。我们也可以在 IN 运算符的括号中指定子查询。 我们可以在 SQL 数据库的 INSERT、SELECT、UPDATE 和 DELETE 查询中使用 IN 运算符。 SQL 中的 IN 运算符取代了查询中多个 OR 条件的处理过程。 IN 运算符的语法如果您想在 SQL 语句中使用 IN 运算符,您必须按顺序遵循以下步骤: - 在 SQL 中创建一个数据库。
- 创建新的 SQL 表。
- 向表中插入数据。
- 查看插入的数据。
- 使用 SQL IN 运算符显示表的数据。
现在,我们将逐一简要解释每个步骤,并提供最佳 SQL 示例。 步骤 1:创建一个简单的数据库第一步是在结构化查询语言中创建一个新的数据库。 以下 CREATE 语句将在 SQL Server 中创建新的 Mechanical_College 数据库。 步骤 2:创建新表现在,使用以下 SQL 语法在数据库中创建新表。 以下 CREATE 语句将在 Mechanical_College 数据库中创建 Faculty_Info 表。 步骤 3:向表中插入数据以下 INSERT 查询将教职员工的记录插入到 Faculty_Info 表中。 步骤 4:查看插入的数据以下 SELECT 语句将显示 Faculty_Info 表的数据。
| Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
|---|
| 1001 | Arush | Sharma | 4001 | 2020-01-02 | 德里 | 20000 | | 1002 | Bulbul | Roy | 4002 | 2019-12-31 | 德里 | 38000 | | 1004 | Saurabh | Roy | 4001 | 2020-10-10 | 孟买 | 45000 | | 1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | | 1006 | Avinash | Sharma | 4002 | 2019-11-11 | 德里 | 28000 | | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 35000 |
步骤 5:使用 IN 运算符以不同方式查看 Faculty_Info 表的数据以下查询在 IN 运算符中使用数字值。 此查询仅显示 WHERE 子句的 IN 运算符中传递了薪水的教职员工的记录。 输出 | Faculty_Id | Faculty_First_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_Salary |
|---|
| 1002 | Bulbul | 4002 | 2019-12-31 | 38000 | | 1004 | Saurabh | 4001 | 2020-10-10 | 45000 | | 1005 | Shivani | 4001 | 2019-07-15 | 42000 | | 1007 | Shyam | 4003 | 2021-06-21 | 35000 |
以下查询在 IN 逻辑运算符中使用文本或字符值。 此查询仅显示 WHERE 子句的 IN 运算符括号中包含该城市的教职员工的记录。 输出 | Faculty_Id | Faculty_First_Name | Faculty_Joining_Date | Faculty_City |
|---|
| 1004 | Saurabh | 2020-10-10 | 孟买 | | 1005 | Shivani | 2019-07-15 | 加尔各答 | | 1007 | Shyam | 2021-06-21 | 勒克瑙 |
以下查询在 IN 逻辑运算符中使用 DATE 格式。 此查询仅显示 WHERE 子句的 IN 运算符中传递了入职日期的教职员工的记录。 输出 | Faculty_Id | Faculty_First_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_Salary |
|---|
| 1001 | Arush | 4001 | 2020-01-02 | 20000 | | 1004 | Saurabh | 4001 | 2020-10-10 | 45000 | | 1005 | Shivani | 4001 | 2019-07-15 | 42000 | | 1007 | Shyam | 4003 | 2021-06-21 | 35000 |
以下查询在 IN 逻辑运算符中使用 SQL UPDATE 命令。 此查询更新 WHERE 子句的 IN 运算符中传递了 Dept_Id 的教职员工的薪水。 要检查上述查询的结果,请在 SQL 中输入以下 SELECT 查询。 | Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
|---|
| 1001 | Arush | Sharma | 4001 | 2020-01-02 | 德里 | 20000 | | 1002 | Bulbul | Roy | 4002 | 2019-12-31 | 德里 | 50000 | | 1004 | Saurabh | Roy | 4001 | 2020-10-10 | 孟买 | 45000 | | 1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | | 1006 | Avinash | Sharma | 4002 | 2019-11-11 | 德里 | 50000 | | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 50000 |
SQL IN 运算符与子查询在结构化查询语言中,我们也可以在 IN 逻辑运算符中使用子查询。 带有子查询的 IN 运算符的语法如下: 如果您想理解带有子查询的 IN 运算符,您必须使用 CREATE 语句在结构化查询语言中创建两个不同的表。 以下查询将在数据库中创建 Faculty_Info 表。 以下查询将在数据库中创建 Department_Info 表。 以下 INSERT 查询将教职员工的记录插入到 Faculty_Info 表中。 以下 INSERT 查询将部门记录插入到 Department_Info 表中。 以下 SELECT 语句将显示 Faculty_Info 表的数据。
| Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Address | Faculty_City | Faculty_Salary |
|---|
| 1001 | Arush | Sharma | 4001 | 22 Street | 新德里 | 20000 | | 1002 | Bulbul | Roy | 4002 | 120 Street | 新德里 | 38000 | | 1004 | Saurabh | Roy | 4001 | 221 Street | 孟买 | 45000 | | 1005 | Shivani | Singhania | 4001 | 501 Street | 加尔各答 | 42000 | | 1006 | Avinash | Sharma | 4002 | 12 Street | 德里 | 28000 | | 1007 | Shyam | Besas | 4003 | 202 Street | 勒克瑙 | 35000 |
以下查询显示 Department_Info 表中的部门记录。  以下查询在 IN 运算符中使用子查询。 此查询显示 Faculty_Info 表的 Dept_ID 与 Department_Info 表的 Dept_Id 匹配的教职员工的记录。 输出 | Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Address | Faculty_City | Faculty_Salary |
|---|
| 1002 | Bulbul | Roy | 4002 | 120 Street | 新德里 | 38000 | | 1006 | Avinash | Sharma | 4002 | 12 Street | 德里 | 28000 | | 1007 | Shyam | Besas | 4003 | 202 Street | 勒克瑙 | 35000 |
SQL 中的 NOT IN 是什么?NOT IN 是结构化查询语言中的另一个运算符,它与 SQL IN 运算符正好相反。它允许您访问表中未在 IN 运算符括号中传递的值。 NOT IN 运算符可用于 INSERT、UPDATE、SELECT 和 DELETE SQL 查询。 NOT IN 运算符的语法 如果您想在 SQL 语句中使用 NOT IN 运算符,您必须按顺序遵循以下步骤: - 在 SQL 系统中创建一个数据库。
- 在数据库中创建一个新表。
- 向表中插入数据。
- 查看插入的数据。
- 使用 NOT IN 运算符查看数据。
现在,我们将逐一简要解释每个步骤,并提供最佳 SQL 示例。 步骤 1:创建简单的数据库 以下查询将在 SQL Server 中创建新的 Civil_Industry 数据库。 步骤 2:创建新表 以下查询将在Civil_Industry 数据库中创建 Worker_Info 表。 步骤 3:插入值 以下 INSERT 查询将工人的记录插入到 Worker_Info 表中。 步骤 4:查看表数据 以下查询显示 Worker_Info 表的数据。
| Worker_ID | Worker_Name | Worker_Gender | Worker_Age | Worker_Address | Worker_Saalary |
|---|
| 1001 | Arush | 男性 (Male) | 18 | 阿格拉 | 35000 | | 1002 | Bulbul | 女性 (Female) | 18 | 勒克瑙 | 42000 | | 1004 | Saurabh | 男性 (Male) | 20 | 勒克瑙 | 45000 | | 1005 | Shivani | 女性 (Female) | 18 | 阿格拉 | 28000 | | 1006 | Avinash | 男性 (Male) | 22 | 德里 | 38000 | | 1007 | Shyam | 男性 (Male) | 18 | Banglore | 20000 |
步骤 4:使用 NOT IN 运算符以下查询在 NOT IN 运算符中使用数字数据。 此 SELECT 查询在输出中显示所有薪水未在 NOT IN 运算符中传递的工人。 上述语句的结果显示在下表中。 | Worker_ID | Worker_Name | Worker_Gender | Worker_Age | Worker_Address | Worker_Saalary |
|---|
| 1002 | Bulbul | 女性 (Female) | 18 | 勒克瑙 | 42000 | | 1004 | Saurabh | 男性 (Male) | 20 | 勒克瑙 | 45000 | | 1007 | Shyam | 男性 (Male) | 18 | Banglore | 20000 |
以下查询在 NOT IN 逻辑运算符中使用字符或文本值。 此查询显示地址未在 NOT IN 运算符中传递的所有工人的记录。 输出 | Worker_ID | Worker_Name | Worker_Gender | Worker_Age | Worker_Address | Worker_Saalary |
|---|
| 1001 | Arush | 男性 (Male) | 18 | 阿格拉 | 35000 | | 1005 | Shivani | 女性 (Female) | 18 | 阿格拉 | 28000 | | 1007 | Shyam | 男性 (Male) | 18 | Banglore | 20000 |
|