UNION ALL

我们想列出公司中所有员工(包括临时工)的姓名和年龄信息,那么我们可以执行下面的SQL语句:


SELECT FName,FAge FROM T_Employee

UNION

SELECT FName,FAge FROM T_TempEmployee

的是不一致的,在正式员工中有姓名为Tom、年龄为26以及姓名为Tina、年龄为26的两名员工,而临时工中也有姓名为Tom、年龄为26以及姓名为Tina、年龄为26的两名员工,也就是说正式员工的临时工中存在重名和年龄重复的现象,但是在查询结果中却将重复的信息只保留了一条,也就是只有一个姓名为Tom、年龄为26的员工和一个姓名为Tina、年龄为26的员工。

这时因为默认情况下,UNION运算符合并了两个查询结果集,其中完全重复的数据行被合并为了一条。如果需要在联合结果集中返回所有的记录而不管它们是否唯一,则需要在UNION运算符后使用ALL操作符,比如下面的SQL语句:


SELECT FName,FAge FROM T_Employee

UNION ALL

SELECT FName,FAge FROM T_TempEmployee

执行完毕我们就能在输出结果中看到下面的执行结果:


FName FAge

Tom 26

Jerry 29

Jane 24

Tina 26

Smith 29

<NULL> 28

John 24

Kerry 29

Stone 23

Sarani 33

Tom 26

Yalaha 38

Tina 26

Konkaya 29

Fotifa 46

转载于:https://www.cnblogs.com/yuyu666/p/9823640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值