基本概念:將兩個具有相同欄位數量的查詢語句的結果,以「上下堆疊」的方式,合併為一個查詢結果。本文主要和大家分享mysql聯合查詢實例,希望能幫助大家。
可見:
兩個select語句的查詢結果的「欄位數」必須一致;
#通常,也應該讓兩個查詢語句的欄位類型具有一致性;
也可以聯合更多的查詢結果;
#語法形式:
select 语句1 union 【all | distinct】 select 语句2;
注意:
此聯合查詢語句,預設會“自動消除重複行”,即預設為distinct
##如果想要顯示所有資料(允許重複行),就使用all
細節:
##應該將這個聯合查詢的結果理解為最終也是一個“表格資料”,且預設使用第一個select語句中的欄位名稱;
##對比:
select... union select... order by XXX limit m,n;範例:
實作「全外連線」:
select * f rom 表1 left join 表2 on 条件unionselect * f rom 表1 right join 表2 on 条件
成果為:
##基本概念:將兩個具有相同欄位數量的查詢語句的結果,以「上下堆疊」的方式,合併為一個查詢結果。
可見:
#兩個select語句的查詢結果的「字段數」必須一致;select 语句1 union 【all | distinct】 select 语句2;注意: 此聯合查詢語句,預設會“自動消除重複行”,即預設為distinct
#應該將這個聯合查詢的結果理解為最終也是一個“表格資料”,且預設使用第一個select語句中的欄位名稱;
## 對比:
預設情況下,order by子句和limit子句只能對整個聯合之後的結果進行排序和數量限定:
select... union select... order by XXX limit m,n;
範例:
實作「全外連接」:
select * f rom 表1 left join 表2 on 条件unionselect * f rom 表1 right join 表2 on 条件範例: 結果為:
#相關推薦:
以上是mysql聯合查詢實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!