mysql中,union用於將多個select語句的結果組合到一個結果集中,並刪除結果集中的重複數據,語法為“select column,...from table1 union select column,.. .from table2”。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
1.mysql union 語法
mysql union 用來把來自多個select 語句的結果組合到一個結果集合。語法為:
select column,......from table1 union [all] select column,...... from table2 ...
在多個select 語句中,對應的欄位應該具有相同的欄位屬性,且第一個select 語句中被使用的欄位名稱也被用於結果的欄位名稱。
1.1 union 與 union all 的差異
使用union 時,mysql 會把結果集中重複的記錄被刪除,而使用union all ,mysql 會把所有的記錄返回,且效率高於union 。
2. mysql union 用法範例
#union 常用與資料類似的兩張或多張表格查詢,例如不同的資料分類表,或是資料歷史表等等,以下是用來測試的兩張表格;
2.1使用 UNION 查詢
查詢兩張表格中的文章 id 號及標題,並去掉重複記錄:
SELECT aid,title FROM article UNION SELECT bid,title FROM blog
回傳查詢結果如下:
2.2.UNION 查詢結果說明
#重複記錄是指查詢中各個欄位完全重複的記錄,如上例,若 title 一樣但 id 號不一樣算為不同記錄。
第一個 SELECT 語句中被使用的欄位名稱也被用於結果的欄位名稱,如上例的 aid。
各 SELECT 語句欄位名稱可以不同,但欄位屬性必須一致。
3.使用 UNION ALL 查詢
查詢兩張表中的文章 id 號及標題,並傳回所有記錄:
SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog
傳回查詢結果如下:
顯然,使用 UNION ALL 的時候,只是單純的把各個查詢組合在一起而不會去判斷資料是否重複。因此,當確定查詢結果中不會有重複資料或不需要去掉重複資料的時候,應使用 UNION ALL 以提高查詢效率。
推薦學習:mysql影片教學
#以上是mysql中union的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!