mysql的常见场景,获取两个数据集的交集和差集

步骤

  1. 两个集合的结构要一致,对应的字段数,字段类型
  2. 将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集
  3. 将上面的所有集 GROUP BY id
  4. 最后 HAVING COUNT(id)=1,等于1的意思是只出现了一次,所以这个是差集,如果等于2,那么就是交集

代码演示

差集

-- 下面的sql有明显的问题,不过这个只是一个示意,
-- 从一个表中查询不需要用到交集和差集,条件可以合并在一起直接查询出来的.能明白意思就好
-- 下面的sql的意思是找到所有非技术部的员工的id,code和name
SELECT a.* FROM(SELECT id,code,name FROM test_empUNION ALLSELECT id,code,name FROM test_emp WHERE dept='JSB'
)a GROUP BY a.id HAVING COUNT(a.id)=1

交集

-- 下面的sql的意思是找到所有技术部年龄大于25的员工
SELECT a.* FROM(SELECT id,code,name FROM test_emp WHERE age>25UNION ALLSELECT id,code,name FROM test_emp WHERE dept='JSB'
)a GROUP BY a.id HAVING COUNT(a.id)=2

并集

-- 下面的sql的意思是找到所有技术部的员工和年龄大于30的员工
-- union可以自动去除重复的内容,得到不重复的结果集
SELECT a.* FROM(SELECT id,code,name FROM test_emp WHERE age>25UNIONSELECT id,code,name FROM test_emp WHERE dept='JSB'
)a

【mysql】mysql获取两个集合的交集/差集/并集相关推荐

  1. java获取两个集合的交集,并集,差集,去重复并集

    一.利用java8的新特性 java8 lambda表达式流操作不影响原始list对象; 对象类型处理 List<Student> list1 = new ArrayList<> ...

  2. java集合操作-----求两个集合的交集和并集

    java求两个集合的交集和并集 java如何求两个集合的交集和并集呢??其实java的API中已经封装了方法.今天写个简单的例子测试一下:(例子中以java.util.LinkedList为例) 求连 ...

  3. C/C++ 求两个集合的交集、并集、差集

    推荐阅读:Python基础自学实用笔记(总和篇)-By Ryan_3610 1.题目:求两个集合的交集.并集.差集 1.1代码 #include <iostream> #include & ...

  4. java 时间段求并集,java集合操作-----求两个集合的交集和并集

    2019独角兽企业重金招聘Python工程师标准>>> java求两个集合的交集和并集 java如何求两个集合的交集和并集呢??其实java的API中已经封装了方法.今天写个简单的例 ...

  5. python两个list取交集_使用 Python 获取两个列表的交集、并集、差集的常用方法 | Jin''''s Blog...

    在数据处理中经常需要使用 Python 来获取两个列表的交集,并集和差集.在 Python 中实现的方法有很多,我平时只使用一两种我所熟悉的,但效率不一定最高,也不一定最优美,所以这次想把常用的方法都 ...

  6. C# 获取两个DataTable 的交集、并集、差集

    //IEnumerable<DataRow> QOld = vDTOld.AsEnumerable().ToList();                 比较两个数据源的交集       ...

  7. java求两个集合的交集和并集,比较器

    求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection {public sta ...

  8. c语言求两个字符串的交集,用c语言求两个集合的交集,并集,差集

    满意答案 ibox5 2019.05.05 采纳率:54%    等级:11 已帮助:8963人 #include #include #include #define ARR_LEN 255/*数组长 ...

  9. 求两个集合的交集和并集

    1.排序+双指针 交集: 用两个指针分别指向两个数组的头部.如果其中一个元素比另一个小,后移小的那个数组的指针:如果相等,那么把该元素添加到交集里,同时后移两个数组的指针.一直这样操作下去,直到有一个 ...

最新文章

  1. 互联网轻量级框架SSM-查缺补漏第二天
  2. 公开仓库中Docker镜像的漏洞分析结果发布
  3. Redis持久化存储详解(一)
  4. 对软连接进行cp,rm
  5. Linux系统资源限制
  6. 《团队-团队编程项目作业名称-团队信息》
  7. 笔记-高项案例题-2017年上-变更管理-需求管理
  8. 一切从用户的需求与体验出发
  9. iOS开发-Get请求,Post请求,同步请求和异步请求
  10. 6大分布式定时任务对比
  11. ORACLE批量更新四种方法比较
  12. text-align 属性,输入框数字向右靠
  13. excel按照颜色排序
  14. 计算机显示无法打开打印机添加,win10电脑提示无法打开添加打印机怎么办
  15. PMP是什么?PMP证书在国用处大吗?
  16. 小卖部做成了我们没有做成的事
  17. 云计算未来的新方向会是“Sky Computing”吗?
  18. Windows如何彻底删除.sys后缀的流氓文件
  19. auto.js B0012 进入各频道 查找父控件 子控件 2021-10-03
  20. excel切片器_利用切片器制作动态交互图表

热门文章

  1. python mat文件_python变量保存为.mat文件
  2. 这些育儿经,80%的父母不知道!
  3. CMake通过外部传参执行不同逻辑的方案比如瑞芯微(1126)地平线(horizon)
  4. php调用百度接口获取经纬度,利用百度API(js),通过地址获取经纬度的注意事项...
  5. 第五周作业 三种建模工具的综合比较
  6. 如何保证PCB孔铜高可靠?
  7. 成为javascript大神要掌握,面向对象编程技术、面向方面编程技术和函数式编程技术
  8. 【FPGA教程案例37】通信案例7——基于FPGA的FFT,IFFT傅里叶变换和逆变换
  9. [编码] 曼彻斯特编码与解码
  10. 约束(constraint)