Union和Union All的區別

2021-09-30 12:02:07 字數 590 閱讀 5363

union,對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序;

union all,對兩個結果集進行並集操作,包括重複行,不進行排序;

intersect,對兩個結果集進行交集操作,不包括重複行,同時進行預設規則的排序;

minus,對兩個結果集進行差操作,不包括重複行,同時進行預設規則的排序。

可以在最後乙個結果集中指定order by子句改變排序方式。order by子句必須寫在最後乙個結果集裡,並且其排序規則將改變操作後的排序結果。對於union、union all、intersect、minus都有效。

intersect 就是交集

minus 就是差集

交集就是兩個結果集中都有的元素

比如 select uid from tb1

intersect

select uid from tb2

那麼既存在tb1 又存在tb2中 相同的uid 就會查出來

差集:select uid from tb1

minus

select uid from tb2

存在於tb1 但不存在與tb2中的uid 會被查出

UNION 和UNION ALL 的區別

在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...

UNION和UNION ALL的區別

關鍵字 union 和union all 的區別 出處 在資料庫中,union和union all關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用...

UNION 和UNION ALL 的區別

在資料庫中,union 和union all 關鍵字都是將兩個結果集合並為乙個,但這兩者從使用和效率上來說都有所不同。union 在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表 ...