📜  SQL | UNION运算子(1)

📅  最后修改于: 2023-12-03 15:20:15.994000             🧑  作者: Mango

SQL | UNION运算子

简介

UNION运算子是SQL中常用的一种集合运算,它用于将两个或多个查询的结果合并并去重后返回一个结果集。

UNION运算符支持所有列类型,但是查询结果必须具有相同的列数和数据类型。

语法
SELECT column1, column2, ... 
FROM table1 
UNION 
SELECT column1, column2, ... 
FROM table2;

注意:

  • UNION运算符用于合并两个或多个SELECT语句的结果集。
  • UNION运算符选取不同的值。如果您想返回所有的值,请使用 UNION ALL。
  • SELECT语句中的列数必须相同。
  • 列中的数据类型必须具有兼容性。
示例

假设我们有两个表students1和students2,它们的结构如下所示:

students1
+----+-----------+-----+
| id | name      | age |
+----+-----------+-----+
| 1  | Michael   | 21  |
| 2  | John      | 19  |
| 3  | Sarah     | 24  |
+----+-----------+-----+

students2
+----+-----------+-----+
| id | name      | age |
+----+-----------+-----+
| 1  | Jessica   | 20  |
| 2  | Alice     | 22  |
| 3  | William   | 19  |
+----+-----------+-----+

我们可以使用UNION运算符将这两个表合并成一个,SQL语句如下所示:

SELECT id, name, age
FROM students1
UNION
SELECT id, name, age
FROM students2;

使用上述SQL查询后,结果如下所示:

+----+-----------+-----+
| id | name      | age |
+----+-----------+-----+
| 1  | Michael   | 21  |
| 2  | John      | 19  |
| 3  | Sarah     | 24  |
| 1  | Jessica   | 20  |
| 2  | Alice     | 22  |
| 3  | William   | 19  |
+----+-----------+-----+

我们可以看到,UNION操作将students1和students2中的数据合并成了一个结果集,并且去除了重复的记录。

总结

UNION运算子是一种常用的集合运算符,用于将两个或多个查询的结果合并并去重后返回一个结果集。在使用UNION运算符时,我们需要注意两个SELECT语句的列数和数据类型必须相同。