UNION 操做符用于合并两个或多个 SELECT 语句的结果集。spa
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有类似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。code
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
注释:默认地,UNION 操做符选取不一样的值。若是容许重复的值,请使用 UNION ALL。table
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
另外,UNION 结果集中的列名老是等于 UNION 中第一个 SELECT 语句中的列名。数据类型
E_ID | E_Name |
---|---|
01 | Zhang, Hua |
02 | Wang, Wei |
03 | Carter, Thomas |
04 | Yang, Ming |
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
列出全部在中国和美国的不一样的雇员名:语法
SELECT E_Name FROM Employees_China SELECT E_Name FROM Employees_USAUNION
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
注释:这个命令没法列出在中国和美国的全部雇员。在上面的例子中,咱们有两个名字相同的雇员,他们当中只有一我的被列出来了。UNION 命令只会选取不一样的值。数据
UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出全部的值。注释
SQL Statement 1 UNION ALL SQL Statement 2
列出在中国和美国的全部的雇员:tab
SELECT E_Name FROM Employees_China SELECT E_Name FROM Employees_USAUNION ALL
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |