UNION
UNION命令用于从两个表中选取相关的信息,很类似JOIN命令。不过,当使用UNION命令时,所有被选取的列的数据类型应该是相同的。
注释:如使用UNION,那么只有不同的值会被选取。
SQL Statement 1 UNION SQL Statement 2
Employees_Norway:
| E_ID | E_Name |
|---|---|
| 01 | Hansen, Ola |
| 02 | Svendson, Tove |
| 03 | Svendson, Stephen |
| 04 | Pettersen, Kari |
Employees_USA:
| E_ID | E_Name |
|---|---|
| 01 | Turner, Sally |
| 02 | Kent, Clark |
| 03 | Svendson, Stephen |
| 04 | Scott, Stephen |
使用UNION命令
实例
列出所有在挪威和美国的不同的雇员名:
SELECT E_Name FROM Employees_Norway UNION SELECT E_Name FROM Employees_USA
结果
| E_Name |
|---|
| Hansen, Ola |
| Svendson, Tove |
| Svendson, Stephen |
| Pettersen, Kari |
| Turner, Sally |
| Kent, Clark |
| Scott, Stephen |
注释:这个命令无法列出在挪威和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。UNION命令只会选取不同的值。
UNION ALL
UNION ALL命令和UNION命令几乎是等效的,不过UNION ALL命令会列出所有的值。
SQL Statement 1 UNION ALL SQL Statement 2
使用UNION ALL命令
实例:
列出在挪威和美国的所有的雇员:
SELECT E_Name FROM Employees_Norway UNION ALL SELECT E_Name FROM Employees_USA
结果
| E_Name |
|---|
| Hansen, Ola |
| Svendson, Tove |
| Svendson, Stephen |
| Pettersen, Kari |
| Turner, Sally |
| Kent, Clark |
| Svendson, Stephen |
| Scott, Stephen |
本文介绍了SQL中的UNION和UNION ALL命令的区别及应用。UNION命令用于合并两个查询的结果集,但只保留不重复的记录;而UNION ALL则会返回所有记录,包括重复项。通过具体示例展示了如何使用这两种命令来处理来自不同表的数据。
1376

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



