一、區別1:取結果的交集
1、union: 對兩個結果集進行du並集操作, 不包括重複行,相當於distinct, 同時進行預設規則的排序;
2、union all: 對兩個結果集進行並集操作, 包括重複行, 即所有的結果全部顯示, 不管是不是重複;
二、區別2:獲取結果後的操作
1、union: 會對獲取的結果進行排序操作
2、union all: 不會對獲取的結果進行排序操作
三、區別3:
1、union看到結果中id=3的只有一條
select * from student2 where id < 4
union
select * from student2 where id > 2 and id < 6
2、union all 結果中id=3的結果有兩個
select * from student2 where id < 4
union all
select * from student2 where id > 2 and id < 6
四、總結
union all只是合併查詢結果,並不會進行去重和排序操作,在沒有去重的前提下,使用union all的執行效率要比union高
UNION 和UNION ALL 的區別
在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...
UNION和UNION ALL的區別
關鍵字 union 和union all 的區別 出處 在資料庫中,union和union all關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用...
UNION 和UNION ALL 的區別
在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...