mysql聯合查詢實例分享

基本概念:將兩個具有相同字段數量的查詢語句的結果,以“上下堆疊”的方式,合并為一個查詢結果。本文主要和大家分享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聯合查詢實例分享
對比:
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 多表聯合查詢效率

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

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

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享