union all和union的區別

2021-10-09 23:53:25 字數 618 閱讀 7672

一、區別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 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...