資料庫學習(六)聯合查詢union
聯合查詢union
一個翻譯問題的解釋:
在mysql的手冊中,將連線查詢(Join)翻譯為聯合查詢;
而聯合查詢(union),沒有明確翻譯。
但:
在通常的書籍或文章中,join被翻譯為“連線”查詢;而union才被翻譯為聯合查詢。
基本概念
將兩個具有相同欄位數量的查詢語句的結果,以“上下堆疊”的方式,合併為一個查詢結果。
圖示如下:
可見:
1,兩個select語句的查詢結果的“欄位數”必須一致;
2,通常,也應該讓兩個查詢語句的欄位型別具有一致性;
3,也可以聯合更多的查詢結果;
語法形式
select 語句1
union 【all | distinct】
select 語句2;
此聯合查詢語句,預設會“自動消除重複行”,即預設是distinct
如果想要將所有資料都顯示(允許重複行),就使用all
即,這裡,寫all才有意義;
對比普通select語句:
select 【all | distinct】 。。。。
對於select語句,寫distinct才有意義;
細節:
應該將這個聯合查詢的結果理解為最終也是一個“表格資料”,且預設使用第一個select語句中的欄位名;
對比
預設情況下,order by子句和limit子句只能對整個聯合之後的結果進行排序和數量限定:select... union select... order by XXX limit m,n;
基本用法:
不對的做法:
無效的做法:
如果第一個select語句中的列有別名,則order by子句中就必須使用該別名。
修改為:
最後,來一個“應用”:
實現“全外連線”:
select * f rom 表1 left join 表2 on 條件
union
select * f rom 表1 right join 表2 on 條件
結果為:
相關文章
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- 組合查詢(UNION)
- 通過這次聯合 (union) 查詢瞭解 Laravel DB 的資料繫結Laravel
- 資料庫學習(五)子查詢資料庫
- 資料庫學習(三)基本查詢資料庫
- 暑期自學 Day 13 | 資料庫 (六)- 多表查詢資料庫
- MySQL--操作簡記(聯結表,組合查詢(UNION))MySql
- 資料庫學習(四)連線查詢資料庫
- 20240719資料庫關聯查詢、條件查詢資料庫
- Mybatis學習01:利用mybatis查詢資料庫MyBatis資料庫
- 資料庫學習筆記之查詢表資料庫筆記
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL
- union 聯合體
- MySQL 合併查詢union 查詢出的行合併到一個表中MySql
- jpa 聯合查詢資料,查詢使用者資訊與部門資訊
- MySQL資料庫學習筆記02(事務控制,資料查詢)MySql資料庫筆記
- day95:flask:SQLAlchemy資料庫查詢進階&關聯查詢FlaskSQL資料庫
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- GraphQL 漸進學習 05-graphql-resolvers-union-聯合的使用
- InnoDB學習(六)之資料庫鎖資料庫
- 多個異構資料庫如何關聯查詢資料庫
- 資料庫高階查詢之子查詢資料庫
- Jemter查詢資料庫資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 資料庫排序查詢資料庫排序
- 查詢資料庫大小資料庫
- langchain_chatchat+ollama部署本地知識庫,聯網查詢以及對資料庫(Oracle)資料進行查詢LangChain資料庫Oracle
- 深圳軟體測試學習:【資料庫】-【oracle】-連線查詢資料庫Oracle
- jpa動態查詢與多表聯合查詢
- 資料庫基礎查詢--單表查詢資料庫
- 使用cglib實現資料庫框架的級聯查詢CGLib資料庫框架
- 【從零開始學習Oracle資料庫】(3)函式與子查詢和連線查詢Oracle資料庫函式
- 【從零開始學習 MySql 資料庫】(3) 函式與子查詢和連線查詢MySql資料庫函式
- 按月分表聯合查詢
- SQL 三表聯合查詢SQL
- JPA 之 多表聯合查詢
- 01-sql-聯合查詢SQL