有很多朋友對union和union all兩者搞不明白,那兩者的區別是什麼呢?小猿圈加加詳細說一下針對兩者的區別,對這個有疑惑的朋友們,跟著小編往下走。

UNION用的比較多union all是直接連接,取到得是所有值,記錄可能有重複 union 是取唯一值,記錄沒有重複

1、UNION 的語法如下:

[SQL 語句 1]

UNION

[SQL 語句 2]

2、UNION ALL 的語法如下:

[SQL 語句 1]

UNION ALL

[SQL 語句 2]

效率:

UNION和UNION ALL關鍵字都是將兩個結果集合併為一個,但這兩者從使用和效率上來說都有所不同。

1、對重複結果的處理:UNION在進行錶鏈接後會篩選掉重複的記錄,Union All不會去除重複記錄。

2、對排序的處理:Union將會按照欄位的順序進行排序;UNION ALL只是簡單的將兩個結果合併後就返回。

從效率上說,UNION ALL 要比UNION快很多,所以,如果可以確認合併的兩個結果集中不包含重複數據且不需要排序時的話,那麼就使用UNION ALL。

簡單總結:

UNION去重且排序

UNION ALL不去重不排序

存在困惑的朋友解除疑惑了吧!以後大家在SQL運用中希望可以正確使用union和union all,對小編文章感興趣的朋友可以去小猿圈看看,有更多文章等著大家。


推薦閱讀:
相關文章