如何使用 SQL 中的 UNION

2025 年 2 月 2 日 | 阅读 3 分钟

SQL 中的 UNION 是什么?

UNION 是一个 SQL 运算符,它将两个或多个 SELECT 查询的结果合并并在输出中提供一个单一的结果集。

SQL 中 UNION 的语法

所有与 UNION 运算符连接的 SELECT 语句的数据类型和字段数量必须相同。数据库系统使用 UNION 运算符从组合结果集中删除重复值。

如何在 SQL 中使用 Union

如果您想在结构化查询语言中使用 UNION 运算符,那么您必须创建两个不同的表并在两个表中添加多条记录。

以下查询创建具有四个字段的 Old_Worker 表

以下查询创建具有四个字段的 New_Worker 表

以下 INSERT 查询将旧员工的记录插入 Old_Worker 表中

以下查询显示 Old_Worker 表的详细信息


Worker_IdWorker_NameWorker_AgeWorker_Salary
101阿希尔 (Akhil)2825000
102Abhay2726000
103Sorya2629000
104Abhishek2726000
105Ritik2629000
106Yash2928000

表:Old_Worker

以下 INSERT 查询将新员工的记录插入 New_Worker 表中

以下查询显示 New_Worker 表的详细信息


Worker_IdWorker_NameWorker_AgeWorker_Salary
201杰克2845000
202贝里2935000
105Ritik2629000
203Shyam2726000
204瑞提卡2838000
106Yash2928000

表:New_Worker

以下查询使用 UNION 运算符在一个表中显示两个表的所有记录

输出

Worker_IdWorker_NameWorker_AgeWorker_Salary
101阿希尔 (Akhil)2825000
102Abhay2726000
103Sorya2629000
104Abhishek2726000
105Ritik2629000
106Yash2928000
201杰克2845000
202贝里2935000
203Shyam2726000
204瑞提卡2838000

WHERE 子句与 UNION 运算符

我们还可以将 WHERE 子句与 UNION SQL 运算符一起使用,这有助于从一个或多个表中选择特定记录。

UNION with WHERE 子句的语法

UNION with WHERE 子句的示例

以下查询显示上述表中工资大于等于 29000 的员工记录


Worker_IdWorker_NameWorker_AgeWorker_Salary
103Sorya2629000
105Ritik2629000
201杰克2845000
202贝里2935000
204瑞提卡2838000

SQL 中的 Union ALL 运算符

SQL Union ALL 运算符与 UNION 运算符相同,但唯一的区别是 UNION ALL 运算符还会显示结果中的共同行。

UNION ALL 集合运算符语法

UNION ALL 示例

让我们以上面的两个表为例,并在这两个表上执行 UNION ALL 运算符。

以下查询使用 UNION ALL 运算符在一个表中显示两个表的所有唯一和共同记录


Worker_IdWorker_NameWorker_AgeWorker_Salary
101阿希尔 (Akhil)2825000
102Abhay2726000
103Sorya2629000
104Abhishek2726000
105Ritik2629000
106Yash2928000
201杰克2845000
202贝里2935000
105Ritik2629000
203Shyam2726000
204瑞提卡2838000
106Yash2928000

下一主题SQL NOT 运算符