使用UNION操作符
union:用于連接兩個以上的 SELECT 語句的結(jié)果組合到一個結(jié)果集合中。多個 SELECT 語句會刪除重復的數(shù)據(jù)。
使用union操作符會將多張表中相同的數(shù)據(jù)取值一次,如果想將表1和表2中的值完整的顯示出來,可以使用union all。
演示
小伙伴們自行創(chuàng)建一下表。
表1數(shù)據(jù)如下:
![](/d/20211017/361aae56dc156e1cacefbbdd85cf8dc8.gif)
表2數(shù)據(jù)如下:
![](/d/20211017/8065a59df4c0c867ee6a6a2b3971bb95.gif)
OK,表數(shù)據(jù)已經(jīng)創(chuàng)建完成,一共五條數(shù)據(jù),接下來我們?nèi)タ匆豢磚nion 和 union all 的使用。
使用union 看一下效果:
select t1.id id, t1.name name, t1.description description,t1.create_time time from table1 t1
UNION
select t2.id id, t2.name name, t2.description description,t2.create_date time from table2 t2
![](/d/20211017/c497373365bb598cf408a3f09ad3ace8.gif)
我們可以看到使用union只會查出來四條數(shù)據(jù)。其中兩條是相同的數(shù)據(jù),則顯示一條。
使用union all 看一下效果:
select t1.id id, t1.name name, t1.description description,t1.create_time time from table1 t1
UNION ALL
select t2.id id, t2.name name, t2.description description,t2.create_date time from table2 t2
![](/d/20211017/c3b984f0852be6c8dde4885eca6a1a9e.gif)
使用union all查出5條數(shù)據(jù),ps:相同的數(shù)據(jù)也會查詢出來。
拓展:
為了區(qū)分哪張表中的數(shù)據(jù),我們可以這樣做
select t1.id id, t1.name name, t1.description description,t1.create_time time,'table1' type from table1 t1
UNION ALL
select t2.id id, t2.name name, t2.description description,t2.create_date time,'table2' type from table2 t2
![](/d/20211017/d9bf08a9cd41c3adcc9c56484a19ad0d.gif)
將兩張表中的數(shù)據(jù)按時間排序
select t3.* from (select t1.id id, t1.name name, t1.description description,t1.create_time time,'table1' type from table1 t1
UNION ALL
select t2.id id, t2.name name, t2.description description,t2.create_date time,'table2' type from table2 t2) t3 order by t3.time desc
![](/d/20211017/621e0db610f62b1f105b70bbe4d08710.gif)
到此這篇關(guān)于MYSQL使用Union將兩張表的數(shù)據(jù)合并顯示的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)合并顯示內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL union 語法代碼示例分析
- mySQL UNION運算符的默認規(guī)則研究
- MySQL如何使用union all獲得并集排序
- MySQL中UNION與UNION ALL的基本使用方法
- 淺析mysql union和union all
- mysql如何將多行數(shù)據(jù)合并成一行