mysql union 和union all 的區別

MySQL UNION 用於把來自多個 SELECT 語句的結果組合到一個結果集合中。語法爲:

SELECT column,... FROM table1 
UNION [ALL]
SELECT column,... FROM table2
...

在多個 SELECT 語句中,對應的列應該具有相同的字段屬性,且第一個 SELECT 語句中被使用的字段名稱也被用於結果的字段名稱。

 

當使用 UNION 時,MySQL 會把結果集中重複的記錄刪掉,而使用 UNION ALL ,MySQL 會把所有的記錄返回,且效率高於 UNION。

基於效率高優先,我們還是應該使用union all 然後使用  DISTINCT對結果集進行去重。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章