首頁  >  文章  >  資料庫  >  mysql聯合查詢實例分享

mysql聯合查詢實例分享

小云云
小云云原創
2018-03-15 10:41:211719瀏覽

基本概念:將兩個具有相同欄位數量的查詢語句的結果,以「上下堆疊」的方式,合併為一個查詢結果。本文主要和大家分享mysql聯合查詢實例,希望能幫助大家。

mysql聯合查詢實例分享

可見:

  • 兩個select語句的查詢結果的「欄位數」必須一致;

  • #通常,也應該讓兩個查詢語句的欄位類型具有一致性;

  • 也可以聯合更多的查詢結果;

#語法形式:

select 语句1
union 【all | distinct】
select 语句2;

注意:

  • 此聯合查詢語句,預設會“自動消除重複行”,即預設為distinct

  • ##如果想要顯示所有資料(允許重複行),就使用all

細節:

##應該將這個聯合查詢的結果理解為最終也是一個“表格資料”,且預設使用第一個select語句中的欄位名稱;

##對比: mysql聯合查詢實例分享
 
mysql聯合查詢實例分享

預設情況下,order by子句和limit子句只能對整個聯合之後的結果進行排序和數量限定:

select... union select... order by XXX limit m,n;

範例:


mysql聯合查詢實例分享 實作「全外連線」:

select  * f rom  表1  left  join 表2 on  条件unionselect  * f rom  表1  right  join 表2  on  条件

範例:


成果為:mysql聯合查詢實例分享

mysql聯合查詢實例分享##基本概念:將兩個具有相同欄位數量的查詢語句的結果,以「上下堆疊」的方式,合併為一個查詢結果。

可見:mysql聯合查詢實例分享

#兩個select語句的查詢結果的「字段數」必須一致;
  • 通常,也應該讓兩個查詢語句的欄位類型具有一致性;
  • #也可以聯合更多的查詢結果;
  • 語法形式:
  • select 语句1
    union 【all | distinct】
    select 语句2;
注意:

此聯合查詢語句,預設會“自動消除重複行”,即預設為distinct
  • 如果想要將所有資料都顯示(允許重複行),就使用all
  • 細節:

#應該將這個聯合查詢的結果理解為最終也是一個“表格資料”,且預設使用第一個select語句中的欄位名稱;

## 對比:

 mysql聯合查詢實例分享

預設情況下,order by子句和limit子句只能對整個聯合之後的結果進行排序和數量限定:mysql聯合查詢實例分享

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聯合查詢實例分享 範例:

結果為:


mysql聯合查詢實例分享
#相關推薦:
mysql聯合查詢實例分享

分析最佳化Mysql 多表聯合查詢效率

#一個關於資料庫的聯合查詢的實例

MySQL多表聯合查詢說明

以上是mysql聯合查詢實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn