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