• SQL – 8.Union


    联合结果集(Union)

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

    • 执行备注中的代码
    • 简单的结果集联合: 
      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

    SELECT FName FROM T_Employee 
    UNION  
    SELECT FName FROM T_TempEmployee 

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

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

    SELECT FName FROM T_Employee 
    UNION ALL 
    SELECT FName FROM T_TempEmployee 

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

    案例1

    • 要求查询员工的最低年龄和最高年龄,临时工和正式员工
      要分别查询
      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

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

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

    image

  • 相关阅读:
    Spring Cloud 五 Feign的文件上传实现
    Spring Cloud 四:服务消费(Feign)【Dalston版】
    Spring Cloud 三:服务消费(Ribbon)【Dalston版】
    Spring Cloud二:服务消费(基础)【Dalston版】
    Spring Cloud 一:服务注册与发现(Eureka)【Dalston版】
    mybatis 单个参数
    医院设置(图论Floyd)
    Mysql学习——安装登录
    字母游戏(搜索)
    子数列连续和
  • 原文地址:https://www.cnblogs.com/tangge/p/2482428.html
Copyright © 2020-2023  润新知