union 运算符将多个 select 语句的结果合并成一个不含重复行的结果集。其特点包括:合并结果集的列顺序和数据类型必须相同。不支持聚合函数。union all 可用于合并包含重复行的结果集,以查找重复数据。
SQL 中 UNION 的用法
UNION 运算符在 SQL 中用于将两个或多个 SELECT 语句的结果合并成一个结果集。
用法:
SELECT 语句 UNION SELECT 语句 UNION ...
特点:
- 合并的结果集中仅包含不重复的行。
- 合并的结果集中列的顺序和数据类型必须相同。
- UNION 不支持聚合函数(如 SUM、COUNT)。
- 如果要合并包含重复行的结果集,可以使用 UNION ALL。
示例:
假设我们有两个表:
表 Student:
| id | name |
| --- | ---- |
| 1 | John |
| 2 | Mary |
表 Teacher:
| id | name |
| --- | ---- |
| 3 | David |
| 4 | Lisa |
我们可以使用 UNION 运算符合并这两个表的 name
列:
<code class="sql">SELECT name FROM Student
UNION
SELECT name FROM Teacher;
结果集:
| name |
| --- |
| John |
| Mary |
| David |
| Lisa |
注意:
- 在使用 UNION 之前,确保结果集的列顺序和数据类型一致。
- 如果结果集中包含重复行,UNION 将自动删除它们。
- UNION ALL 允许合并包含重复行的结果集,因此可以用于查找重复数据。