日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

获取两个数据的交集_MySQL交集和差集的实现方法

發(fā)布時(shí)間:2023/12/4 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取两个数据的交集_MySQL交集和差集的实现方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在MySQL中,只支持Union(并集)集合運(yùn)算,而對(duì)于交集Intersect和差集Except并不支持。那么如何才能在MySQL中實(shí)現(xiàn)交集和差集呢?

一般在MySQL中,我們可以通過(guò)in和not in來(lái)間接實(shí)現(xiàn)交集和差集,當(dāng)然也有一定局限性,面對(duì)少量數(shù)據(jù)還可以,但數(shù)據(jù)量大了效率就會(huì)變得很低。

創(chuàng)建table1

創(chuàng)建table2

插入

使用not in 求差集,但效率低

求交集,此時(shí)只有id name age 所有都一樣才是符合要求的。

union all和union的區(qū)別

UNION和UNION ALL的功能都是將兩個(gè)結(jié)果集合并為一個(gè),但是這兩個(gè)關(guān)鍵字不管從使用還是效率上來(lái)說(shuō),都是有一定區(qū)別的。

使用上:

1、對(duì)重復(fù)結(jié)果的處理:UNION在進(jìn)行表鏈接后會(huì)篩選掉重復(fù)的記錄,而Union All則不會(huì)去除重復(fù)記錄。

2、對(duì)排序的處理:Union將會(huì)按照字段的順序進(jìn)行排序;UNION ALL只是將兩個(gè)結(jié)果合并后就返回,并不會(huì)進(jìn)行排序處理。

效率上:

從效率上說(shuō),UNION ALL的處理效率要比UNION高很多,所以,如果可以確認(rèn)合并的兩個(gè)結(jié)果集中,且不包含重復(fù)數(shù)據(jù)和不需要進(jìn)行排序的話(huà),推薦使用UNION ALL。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的获取两个数据的交集_MySQL交集和差集的实现方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。