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

SQL中union和union all的區別

union在進行表求並集後會去掉重複的元素,所以會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。

union all則只是簡單地將兩個結果集合並後就返回結果。因此,如果返回的兩個結果集中有重複的資料,那麼返回的結果就會包含重複的資料。

從上面的對比可以看出,在執行查詢操作時,union all要比union快很多,所以,如果可以確認合併的兩個結果集中不包含重複的資料,那麼最好使用union all。例如,現有兩個學生表Table1和Table2:

執行語句:


select * from Table1 union select * from Table2

查詢結果如下:

執行語句:


select * from Table1 union all select * from Table2

查詢結果如下: