一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Mysql - 淺析mysql union和union all

淺析mysql union和union all

2020-08-15 21:47動力節(jié)點 Mysql

union 是對數(shù)據(jù)進行并集操作,不包括重復行,同時進行默認排序而Union all 是對數(shù)據(jù)進行并集操作,包括重復行,不進行排序,下面給大家詳細介紹mysql union和union all,感興趣的朋友一起看看吧

在數(shù)據(jù)庫中,UNION和UNION ALL關鍵字都是將兩個結果集合并為一個,但這兩者從使用和效率上來說都有所不同。

MySQL中的UNION

UNION在進行表鏈接后會篩選掉重復的記錄,所以在表鏈接后會對所產生的結果集進行排序運算,刪除重復的記錄再返回結果。實際大部分應用中是不會產生重復的記錄,最常見的是過程表與歷史表UNION。如:

?
1
select * from gc_dfys union select * from ls_jg_dfys

這個SQL在運行時先取出兩個表的結果,再用排序空間進行排序刪除重復的記錄,最后返回結果集,如果表數(shù)據(jù)量大的話可能會導致用磁盤進行排序。 

MySQL中的UNION ALL

而UNION ALL只是簡單的將兩個結果合并后就返回。這樣,如果返回的兩個結果集中有重復的數(shù)據(jù),那么返回的結果集就會包含重復的數(shù)據(jù)了。

從效率上說,UNION ALL 要比UNION快很多,所以,如果可以確認合并的兩個結果集中不包含重復的數(shù)據(jù)的話,那么就使用UNION ALL,如下:

?
1
select * from gc_dfys union all select * from ls_jg_dfys

使用Union,則所有返回的行都是唯一的,如同您已經對整個結果集合使用了DISTINCT

使用Union all,則不會排重,返回所有的行

如果您想使用ORDER BY或LIMIT子句來對全部UNION結果進行分類或限制,則應對單個地SELECT語句加圓括號,并把ORDER BY或LIMIT放到最后一個的后面:

?
1
2
3
4
(SELECT a FROM tbl_name WHERE a=10 AND B=1)
UNION
(SELECT a FROM tbl_name WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;

麻煩一點也可以這么干:

?
1
2
3
select userid from (
select userid from testa union all select userid from testb) t
order by userid limit 0,1;

如果你還想group by,而且還有條件,那么:

?
1
select userid from (select userid from testa union all select userid from testb) t group by userid having count(userid) = 2;

注意:在union的括號后面必須有個別名,否則會報錯

當然了,如果當union的幾個表的數(shù)據(jù)量很大時,建議還是采用先導出文本,然后用腳本來執(zhí)行

因為純粹用sql,效率會比較低,而且它會寫臨時文件,如果你的磁盤空間不夠大,就有可能會出錯

?
1
Error writing file '/tmp/MYLsivgK' (Errcode: 28)

總結

以上所述是小編給大家介紹的mysql union和union all,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wx89.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 乌克兰精品摘花处破 | 亚洲成色www久久网站 | 色哟哟哟在线精品观看视频 | 欧美国产日韩综合 | 香蕉久久久| 亚洲欧美日韩天堂在线观看 | 成年人免费观看视频网站 | 男老头澡堂gay老头456 | 91短视频在线免费观看 | 亚洲日日操 | 99在线观看视频 | 日本高清不卡一区久久精品 | 91精品国产免费久久 | 2019国产精品 | 人禽l交视频在线播放 视频 | 脱jk裙的美女露小内内无遮挡 | 精品国产免费一区二区三区 | 久热人人综合人人九九精品视频 | 继攵催眠女乱h调教 | 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | 成年人视频免费在线观看 | 亚洲视频99 | 91免费精品国自产拍在线不卡 | 小SAO货边洗澡边CAO你动漫 | 国产日本欧美亚洲精品视 | 成人a级特黄毛片 | 日产乱码卡1卡2卡三卡四在线 | 欧美破苞合集 magnet | 美女禁区视频无遮挡免费看 | 免费一级毛片在线播放放视频 | 极品一区 | 好大好硬抽搐好爽想要 | 俄罗斯13一14处出血视频在线 | 美女的隐私视频免费看软件 | 好大好硬好深好爽gif图 | video one 中国按摩| 国产免费久久精品 | 国产精品一区二区三区久久 | 娇妻与公陈峰姚瑶小说在线阅读 | 国产精品香蕉夜间视频免费播放 | 3d动漫被吸乳羞羞 |