SQL数据库高级教程:SQL UNION 和 UNION ALL_[SQL Server教程]
UNION
UNION命令用于从两个表中选取相关的信息,很类似JOIN命令。不过,当使用UNION命令时,所有被选取的列的数据类型应该是相同的。
注释:如使用UNION,那么只有不同的值会被选取。
SQL Statement 1UNIONSQL Statement 2
Employees_Norway:
E_ID | E_Name | 01Hansen, Ola02Svendson, Tove03Svendson, Stephen04Pettersen, Kari
Employees_USA:
E_ID | E_Name | 01Turner, Sally02Kent, Clark03Svendson, Stephen04Scott, Stephen
使用UNION命令
实例
列出所有在挪威和美国的不同的雇员名:
SELECT E_Name FROM Employees_NorwayUNIONSELECT E_Name FROM Employees_USA
结果
E_Name | Hansen, OlaSvendson, ToveSvendson, StephenPettersen, KariTurner, SallyKent, ClarkScott, Stephen
注释:这个命令无法列出在挪威和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。UNION命令只会选取不同的值。
UNION ALL
UNION ALL命令和UNION命令几乎是等效的,不过UNION ALL命令会列出所有的值。
SQL Statement 1UNION ALLSQL Statement 2
使用UNION ALL命令
实例:
列出在挪威和美国的所有的雇员:
SELECT E_Name FROM Employees_NorwayUNION ALLSELECT E_Name FROM Employees_USA
结果
E_Name | Hansen, OlaSvendson, ToveSvendson, StephenPettersen, KariTurner, SallyKent, ClarkSvendson, StephenScott, Stephen