sql中union和union all的用法
如果我們需要將兩個select語句的結果作為一個整體顯示出來,我們就需要用到union或者union all關鍵字。union(或稱為聯合)的作用是將多個結果合併在一起顯示出來。 |
union和union all的區別是,union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全部顯示出來,不管是不是重複。
目的:查詢出members表中group_id = 1和group_id為null的成員:
select m.member_name from members m where m.group_id = 1 union select m.member_name from members m where m.group_id is null;
結果:
分析:將上面查詢的結果和下面的查詢結果組合在了一起。會發現一個問題,“小珩”這條資料只展示了一遍,但是我們有兩個小珩呀。所以union會對查到的結果進行去重處理。
目的:解決union遇到的問題,將所有查到的結果查詢出來:
select m.member_name from members m where m.group_id = 1 union all select m.member_name from members m where m.group_id is null;
結果:
分析:可以看到“小珩”的資料展示了兩次,即union all會將查到的結果直接全部展示出來。
join聯結的兩個表,是透過匹配兩個表中相同欄位的相同的值,得到的結果集。可以認為是結果集的列拓寬了。join是使得查詢的內容更詳細了。union是取將兩個結果集的並集,但兩個結果集所擁有的列數是一樣、列的順序也一樣、欄位型別相同或相似(DBMS認為的相似),才能union並展示在一起。可以認為是結果集的行數多了。union是使得查詢的結果更多了。
union:對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序;union在進行錶連結後會篩選掉重複的記錄,所以在錶連結後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄,最常見的是過程表與歷史表union。union all:對兩個結果集進行並集操作,包括重複行,不進行排序; 如果返回的兩個結果集中有重複的資料,那麼返回的結果集就會包含重複的資料了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2746793/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql中UNION和UNION ALL的區別SQL
- union all和union的區別
- union 和union all 使用區別
- union和union all 關鍵字
- `FULL JOIN` 和 `UNION ALL`
- MySQL學習(五) UNION與UNION ALLMySql
- union用法
- Oracle的集合操作(union、union all、intersect、minus集合函式)Oracle函式
- union all 最佳化案例
- SQL Server中的集合運算: UNION, EXCEPT和INTERSECTSQLServer
- sql注入之union注入SQL
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- oracle知識整理(1) union和union all的區別,left join和right join的區別(各種join的區別)Oracle
- union和enum使用
- SQL優化案例-union代替or(九)SQL優化
- SQL最佳化案例-union代替or(九)SQL
- msyql jion 和 union 的區別
- union注入
- OceanBase 金融專案最佳化案例(union all 改寫)
- 銀彈谷V平臺VSQL使用distinct與union all使用SQL
- MySQL中union和order by同時使用的實現方法MySql
- Struct 和 Union有下列區別Struct
- SQLite語句(三):JOIN和UNIONSQLite
- MySQL中使用or、in與union all在查詢命令下的效率對比MySql
- union 聯合體
- union存取低高位
- 組合查詢(UNION)
- MySQL, Incorrect usage of UNION and ORDER BYMySql
- [CF1517F] Union
- 並查集(Union Find)並查集
- Union Find程式碼塊
- kingbase SQL最佳化案例 ( union遞迴 改 cte遞迴 )SQL遞迴
- C語言:一個例子理解 union 和 structC語言Struct
- Analysis of Set Union Algorithms 題解Go
- 在實際應用中聯合體union的妙用
- WPF Path GeometryCombineMode Union, Exclude,Intersect,Xor
- 備忘:union()後paginate分頁
- Oracle優化案例-union代替or(九)Oracle優化