SQL UNION 和 UNION ALL

UNION

UNION命令用于从两个表中选取相关的信息,很类似JOIN命令。不过,当使用UNION命令时,所有被选取的列的数据类型应该是相同的。

注释:如使用UNION,那么只有不同的值会被选取。

SQL Statement 1
UNION
SQL Statement 2

Employees_Norway:

E_IDE_Name
01Hansen, Ola
02Svendson, Tove
03Svendson, Stephen
04Pettersen, Kari

Employees_USA:

E_IDE_Name
01Turner, Sally
02Kent, Clark
03Svendson, Stephen
04Scott, 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
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值