SQL – 8.Union

联合结果集(Union)

union和union区别union 合并结果集并去除重复项,union all 合并结果集不用去除重复项。

  • 执行备注中的代码
  • 简单的结果集联合: 
    1
    2
    3
    SELECT FNumber,FName,FAge FROM T_Employee 
    UNION 
    SELECT FIdCardNumber,FName,FAge FROM T_TempEmployee
  • 基本的原则:每个结果集必须有相同的列数;每个结果集的列必须类型相容


SELECT FNumber,FName,FAge,FDepartment FROM T_Employee 
UNION 
SELECT FIdCardNumber,FName,FAge,’临时工,无部门' FROM T_TempEmployee

image
Union all

1
2
3
SELECT FName FROM T_Employee
UNION 
SELECT FName FROM T_TempEmployee

UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条

 

===============分割线==================

 

1
2
3
SELECT FName FROM T_Employee
UNION ALL
SELECT FName FROM T_TempEmployee

Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL

案例1

  • 要求查询员工的最低年龄和最高年龄,临时工和正式员工
    要分别查询
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT '正式员工最高年龄',MAX(FAge) FROM
    T_Employee
    UNION ALL
    SELECT '正式员工最低年龄',MIN(FAge) FROM
    T_Employee
    UNION ALL
    SELECT '临时工最高年龄',MAX(FAge) FROM
    T_TempEmployee
    UNION ALL
    SELECT '临时工最低年龄',MIN(FAge) FROM
    T_TempEmployee

image


案例2

查询每位正式员工的信息,包括工号、工资,并且在最后一行加上所有员工工资额合计。

1
2
3
SELECT FNumber,FSalary FROM T_Employee
UNION ALL
SELECT '工资合计',SUM(FSalary) FROM T_Employee

image

作者:【唐】三三

出处:https://www.cnblogs.com/tangge/archive/2012/05/04/2482428.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   【唐】三三  阅读(252)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2011-05-04 【表单】-专题解析
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示