1. 爱玩数码首页
  2. 投稿

mysql交集数据怎么获得(MySQL交集和差集的实现方法)

mysql交集数据怎么获得(MySQL交集和差集的实现方法)

在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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至87172970@qq.com举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论