在MySQL中。只支持Union(并集)集合运算。而对于交集Intersect和差集Except并不支持。那么如何才能在MySQL中实现交集和差集呢?
一般在MySQL中。我们可以通过in和not in来间接实现交集和差集。当然也有一定局限性。面对少量数据还可以。但数据量大了效率就会变得很低。
创建table1
创建table2
插入
使用not in 求差集。但效率低
求交集。此时只有id name age 所有都一样才是符合要求的。
union all和union的区别
UNION和UNION ALL的功能都是将两个结果集合并为一个。但是这两个关键字不管从使用还是效率上来说。都是有一定区别的。
使用上:
1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录。而Union All则不会去除重复记录。
2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是将两个结果合并后就返回。并不会进行排序处理。
效率上:
从效率上说。UNION ALL的处理效率要比UNION高很多。所以。如果可以确认合并的两个结果集中。且不包含重复数据和不需要进行排序的话。推荐使用UNION ALL。
更多服务器知识文章推荐:
本文标题:mysql交集怎么写(mysql交集实现)
本文地址:https://gpu.xuandashi.com/7909.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!
本文地址:https://gpu.xuandashi.com/7909.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!