UNION 和 UNION ALL操作符用于合并两个或多个 SELECT 语句的结果集(将两个或更多查询的结果组合为单个结果集),该结果集包含联合查询中的所有查询的全部行。另外,结果集中的列名总是等于 UNION 或 UNION ALL中第一个 SELECT 语句中的列名。使用 UNION 或 UNION ALL组合两个查询的结果集的两个基本规则是:
1 、 所有查询中的列数和列的顺序必须相同。
2 、 数据类型必须兼容。
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL UNION 语法:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2;
SQL UNION ALL 语法:
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2;
例1:列出所有在中国和美国的不同的雇员名
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA;
|
E_Name |
|
Zhang, Hua |
|
Wang, Wei |
|
Carter, Thomas |
|
Yang, Ming |
|
Adams, John |
|
Bush, George |
|
Gates, Bill |
注释:这个命令无法列出在中国和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。UNION 命令只会选取不同的值。
UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。
例2:列出在中国和美国的所有的雇员
SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA;
|
E_Name |
|
Zhang, Hua |
|
Wang, Wei |
|
Carter, Thomas |
|
Yang, Ming |
|
Adams, John |
|
Bush, George |
|
Carter, Thomas |
|
Gates, Bill |
文章出自:百度百科
本文详细介绍了SQL中的UNION和UNION ALL操作符,包括它们的语法、使用规则及区别。通过实例展示了如何使用这两种操作符来合并不同表中的数据,并说明了在结果集中如何处理重复记录。
1381

被折叠的 条评论
为什么被折叠?



