1. 程式人生 > >union 和 union all區別

union 和 union all區別

union和 效率 包含 tro 順序 lock block str 重復記錄

說明:

UNION 操作符用於合並兩個或多個SELECT語句的結果集,不會允許重復值
UNION ALL 允許有重復值的話

  • UNION內部的SELECT語句必須擁有相同數量的列
  • 列也必須擁有相似的數據類型,同時,每條SELECT語句中列的順序必須相同

效率:
UNION和UNION ALL關鍵字都是將兩個結果集合並為一個,但這兩者從使用和效率上來說都有所不同。
  1、對重復結果的處理:UNION在進行表鏈接後會篩選掉重復的記錄,Union All不會去除重復記錄。
  2、對排序的處理:Union將會按照字段的順序進行排序;UNION ALL只是簡單的將兩個結果合並後就返回。
從效率上說,UNION ALL 要比UNION快很多,所以,如果可以確認合並的兩個結果集中不包含重復數據且不需要排序時的話,那麽就使用UNION ALL。

UNION去重且排序
UNION ALL不去重 且 不排序

註釋:UNION 結果集中的列名總是等於 UNION 中第一個 SELECT 語句中的列名。

union 和 union all區別