首頁  >  文章  >  資料庫  >  mysql中union的用法是什麼

mysql中union的用法是什麼

WBOY
WBOY原創
2022-03-01 15:57:4810027瀏覽

mysql中,union用於將多個select語句的結果組合到一個結果集中,並刪除結果集中的重複數據,語法為“select column,...from table1 union select column,.. .from table2”。

mysql中union的用法是什麼

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql中union的用法是什麼

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 常用與資料類似的兩張或多張表格查詢,例如不同的資料分類表,或是資料歷史表等等,以下是用來測試的兩張表格;

mysql中union的用法是什麼

 2.1使用 UNION 查詢

查詢兩張表格中的文章 id 號及標題,並去掉重複記錄:

SELECT aid,title FROM article UNION SELECT bid,title FROM blog

回傳查詢結果如下:

mysql中union的用法是什麼

2.2.UNION 查詢結果說明

#重複記錄是指查詢中各個欄位完全重複的記錄,如上例,若 title 一樣但 id 號不一樣算為不同記錄。

第一個 SELECT 語句中被使用的欄位名稱也被用於結果的欄位名稱,如上例的 aid。

各 SELECT 語句欄位名稱可以不同,但​​欄位屬性必須一致。

3.使用 UNION ALL 查詢

查詢兩張表中的文章 id 號及標題,並傳回所有記錄:

SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog

傳回查詢結果如下:

mysql中union的用法是什麼

顯然,使用 UNION ALL 的時候,只是單純的把各個查詢組合在一起而不會去判斷資料是否重複。因此,當確定查詢結果中不會有重複資料或不需要去掉重複資料的時候,應使用 UNION ALL 以提高查詢效率。

推薦學習:mysql影片教學

#

以上是mysql中union的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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