当前位置: 首页 > article >正文

mysql复合查询 -- 合并查询(union,union all)

目录

合并查询

介绍

表数据 

union

使用场景

​编辑

示例

union all


合并查询

介绍

它不像笛卡尔积那种,将行信息做乘法

  • 合并只是单纯地合在一起
  • 求的是两个结果集的并集,并且会自动去掉并集中的重复行

注意,因为是求并集,会将两个结果进行拼接

  • 所以要保证列信息相同

表数据 

两张表,某公司的正式员工表和承包商员工表(可能有员工拥有双重身份)


CREATE TABLE employees (
    empno INT PRIMARY KEY,
    ename VARCHAR(50),
    job VARCHAR(50),
    deptno INT
);

CREATE TABLE contractors (
    empno INT PRIMARY KEY,
    ename VARCHAR(50),
    job VARCHAR(50),
    deptno INT
);


INSERT INTO contractors (empno, ename, job, deptno) VALUES
(4, 'JOHN', 'MANAGER', 10),
(5, 'DAVIS', 'ANALYST', 20),
(2, 'SMITH', 'ANALYST', 20); 

 

union

用于合并两个或多个 SELECT 查询的结果。它会自动去除重复的行,只返回唯一的记录

使用场景

示例

获取所有的经理和分析师的姓名和职位,不论他们是正式员工还是承包商

  • 需要将两张表的数据汇总到一起,且不能有重复数据

需要我们使用union关键字将两个sql语句连接:

  • select * from employees where job='MANAGER' or job='ANALYST' union select * from contractors where job='MANAGER' or job='ANALYST';

 

union all

如果不想去重,在union后+all


http://www.kler.cn/a/323203.html

相关文章:

  • MongoDB在现代Web开发中的应用
  • shell脚本配置nginx
  • Jenkins的pipeline Script的 每个组件的详细讲解
  • SOP搭建:企业标准化操作程序构建与实施指南
  • PETR/PETRv2/StreamPETR论文阅读
  • 37.超级简易的计算器 C语言
  • 指令个人记录
  • Lab1:虚拟机kolla安装部署openstack,并创建实例
  • [大语言模型-论文精读] MoRAG - 基于多部分融合的检索增强型人体动作生成
  • 海尔嵌入式硬件校招面试题及参考答案
  • Python in Excel作图分析实战!
  • 关于Obj文件格式介绍与Unity加载Obj文件代码参考
  • 阿里云k8s发布vue项目
  • 防砸安全鞋这样挑,舒适又安心!
  • 用矩阵和统计报告估计polynomial线性回归的系数python
  • 直线模组降噪攻略
  • 【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
  • 16 Midjourney从零到商用·实战篇:产品工业设计
  • 2024AI做PPT软件如何重塑演示文稿的创作
  • C语言VS实用调试技巧
  • 华为LTC流程架构分享
  • 一天认识一个硬件之硬盘
  • 【代码模板】Python Decorator / 装饰器
  • 828华为云征文 | 华为云X实例部署Docker应用的性能评测优化与实践指南
  • Facebook对现代社交互动的影响
  • 【串口收发不定长数据】使用中断的方式—以AT32为例