UNION运算符

联合结果集的原则 
联合结果集不必受被联合的多个结果集之间的关系限制,不过使用UNION仍然有两个
基本的原则需要遵守:一是每个结果集必须有相同的列数;二是每个结果集的列必须类型相

如果需要将未知列补足为一个默认值,那么可以使用常量字段,比如下面的SQL语
句就将第二个结果集的与FDepartment对应的字段值设定为“临时工,不属于任何一个部门”: 
SELECT FNumber,FName,FAge,FDepartment FROM T_Employee 
UNION 
SELECT FIdCardNumber,FName,FAge,'临时工,不属于任何一个部门' FROM 
T_TempEmployee 
  执行完毕我们就能在输出结果中看到下面的执行结果: 
FNumber  FName  FAge  FDepartment 
1234567890121  Sarani  33  临时工,不属于任何一个部门 
1234567890122  Tom  26  临时工,不属于任何一个部门 

如果需要在联合结果集中返回所有的记录而不管它们是否唯一,则需要在
UNION运算符后使用ALL操作符,比如下面的SQL语句: 
SELECT FName,FAge FROM T_Employee 
UNION ALL 
SELECT FName,FAge FROM T_TempEmployee 

要求分别列出正式员工和临时工的姓名,要保留重复的姓名。 
实现SQL语句如下: 
MYSQL、MSSQLServer: 
SELECT '以下是正式员工的姓名'  
UNION ALL  
SELECT FName FROM T_Employee  
UNION ALL  
SELECT '以下是临时工的姓名'  
UNION ALL  
SELECT FName FROM T_TempEmployee

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值