如何在 SQL 中使用 ANY 关键字

17 Mar 2025 | 5 分钟阅读

在本篇 SQL 文章中,您将学习如何在数据库表中 ALL 关键字。

SQL 中的 ANY 是什么?

ANY 是 SQL 中的一个运算符。此运算符将给定值与每个子查询值进行比较,并返回满足条件的那些值。

ANY 运算符主要与 INSERT、UPDATE、DELETE 和 UPDATE SQL 语句的 HAVING 或 WHERE 子句一起使用。

如果至少有一个子查询值根据给定条件匹配,它始终评估为 TRUE。

在结构化查询语言中使用 ANY 运算符的语法

在语法中,ANY 运算符后面是 SQL 比较运算符,它有助于将列值与子查询进行比较。

以下是与 ANY 运算符一起在查询中使用的 SQL 比较运算符:

1. 等于运算符 (=)

当列的值等于子查询中的任何值时,ANY 运算符的等于比较运算符将评估为 TRUE。

语法

2. 不等于运算符 (!=)

当列的值不等于子查询中的任何值时,ANY 运算符的此比较运算符将评估为 TRUE。

语法

3. 大于运算符 (>)

当列的值大于子查询的最小值时,ANY 运算符的此比较运算符将评估为 TRUE。

语法

4. 小于运算符 (<)

当列的值小于子查询的最大值时,ANY 运算符的此比较运算符将评估为 TRUE。

语法

5. 大于等于运算符 (>=)

当列的值大于或等于子查询的最小值时,ANY 运算符的此比较运算符将评估为 TRUE。

语法

6. 小于等于运算符 (<=)

当列的值小于等于子查询的最大值时,ANY 运算符的此比较运算符将评估为 TRUE。

语法

如果您想在表中 ALL 运算符执行操作,则必须按照给定的步骤进行操作:

  1. 在系统中创建一个数据库。
  2. 创建两个新表。
  3. 在两个表中插入数据。
  4. 查看两个表中插入的数据。
  5. 使用 ANY 运算符以不同方式查看数据。

现在,我们将通过 SQL 示例详细解释这些步骤。

步骤 1:创建简单的数据库

首先,您必须在结构化查询语言中创建一个新数据库。所以,让我们开始吧。

以下查询在 SQL Server 中创建新的 **College** 数据库。

步骤 2:创建新表

现在,使用下面的 SQL 语法,它有助于在数据库中创建新表。

以下查询在 **College** 数据库中创建 **Teacher_Info** 表。

以下查询在 **College** 数据库中创建 **Department_Info** 表。

步骤 3:插入值

以下 INSERT 查询将在 Teacher_Info 表中插入教师记录。

以下 INSERT 查询将部门记录插入到 Department_Info 表中。

步骤 4:查看表数据

以下查询显示 Teacher_Info 表的数据。


Teacher_IdTeacher_First_NameTeacher_Last_NameTeacher_Dept_IdTeacher_AddressTeacher_CityTeacher_Salary
1001ArushSharma400122 Street新德里20000
1002BulbulRoy4002120 Street新德里38000
1004SaurabhRoy4001221 Street孟买45000
1005ShivaniSinghania4001501 Street加尔各答42000
1006AvinashSharma400212 Street德里28000
1007ShyamBesas4003202 Street勒克瑙35000

以下查询显示 Teacher_Info 表的数据。


How to Use ANY keyword in SQL

步骤 5:使用 ANY 运算符查看表数据

以下查询使用 ANY 运算符和等于比较运算符。

此查询显示 Teacher_Info 表中某位教师的详细信息。在这里,这位教师也是 Department_Info 表的部门负责人。

上面带有等于运算符的 SELECT 查询的输出显示在下表中。

Teacher_IdTeacher_First_NameTeacher_Last_NameTeacher_Dept_IdTeacher_AddressTeacher_CityTeacher_Salary
1005ShivaniSinghania4001501 Street加尔各答42000
1007ShyamBesas4003202 Street勒克瑙35000

以下查询使用 ANY 运算符和小于运算符以及 GROUP BY 子句。

此查询显示所有工资低于每个部门平均工资的教师的详细信息。

上面带有小于运算符的 SELECT 查询的输出显示在下表中。

Teacher_IdTeacher_First_NameTeacher_Last_NameTeacher_Dept_IdTeacher_AddressTeacher_CityTeacher_Salary
1001ArushSharma400122 Street新德里20000
1006AvinashSharma400212 Street德里28000
1007ShyamBesas4003202 Street勒克瑙35000

以下查询使用 ANY 运算符和大于运算符以及 GROUP BY 子句。

此查询显示所有工资高于每个部门平均工资的教师的详细信息。

上面带有大于运算符的 SELECT 查询的输出显示在下表中。

Teacher_IdTeacher_First_NameTeacher_Last_NameTeacher_Dept_IdTeacher_AddressTeacher_CityTeacher_Salary
1001ArushSharma400122 Street新德里20000
1002BulbulRoy4002120 Street新德里38000
1004SaurabhRoy4001221 Street孟买45000
1005ShivaniSinghania4001501 Street加尔各答42000
1006AvinashSharma400212 Street德里28000
1007ShyamBesas4003202 Street勒克瑙35000