ORACLE中union/union all/Intersect/Minus用法
Union,對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序;
Union All,對兩個結果集進行並集操作,包括重複行,不進行排序;
Intersect,對兩個結果集進行交集操作,不包括重複行,同時進行預設規則的排序;
Minus,對兩個結果集進行差操作,不包括重複行,同時進行預設規則的排序。
order by子句必須寫在最後一個結果集裡,並且其排序規則將改變操作後的排序結果;並且對於Union、Union All、Intersect、Minus都有效。
表頭會用第一個連線塊的欄位。1.Union
union用法中,兩個select語句的欄位型別匹配,而且欄位個數要相同.
UNION連線的兩個表是同一表,使用UNION會過濾重複行,顯示的是一張表的資料。
下面SQL查詢語句中兩個表完全一樣,所以查詢顯示的是單張表的資訊。
SCOTT@bys1>select deptno,dname as "aa",loc from dept union select deptno,dname,loc from dept;
DEPTNO aa LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
2.Union All
UNION ALL,它的用法和union一樣,只不過union含有distinct的功能,它會把兩張表了重複的記錄去掉,
儘量使用union all,因為union需要進行排序,去除重複記錄,效率低。
下面SQL查詢語句中兩個表完全一樣,所以查詢顯示了兩次表內資訊。
SCOTT@bys1>select deptno,dname,loc as "aa" from dept union allselect deptno,dname,loc as "bb" from dept;
DEPTNO DNAME aa
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
3.Intersect
對兩個結果集進行交集操作,不包括重複行,同時進行預設規則的排序;返回兩個表共同含有的資料,取出交集作為最終的返回結果。
下面SQL查詢語句中兩個表完全一樣,所以查詢顯示的是單張表的資訊。
SCOTT@bys1>select deptno,dname,loc as "aa" from dept
intersect select deptno,dname,loc as "bb" from dept;
DEPTNO DNAME aa
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
4.Minus
對兩個結果集進行差操作,不包括重複行,同時進行預設規則的排序。
第一個結果集減去第二個結果集中的內容,所剩餘的內容作為最終的返回結果。
下面SQL查詢語句中兩個表完全一樣,所以查詢顯示無資訊。
SCOTT@bys1>select deptno,dname,loc as "aa" from dept
minus select deptno,dname,loc as "bb" from dept;
no rows selected
相關文章
- Oracle的集合操作(union、union all、intersect、minus集合函式)Oracle函式
- sql中union和union all的用法SQL
- sql中UNION和UNION ALL的區別SQL
- union 和union all 使用區別
- union all和union的區別
- union和union all 關鍵字
- MySQL學習(五) UNION與UNION ALLMySql
- WPF Path GeometryCombineMode Union, Exclude,Intersect,Xor
- union用法
- SQL Server中的集合運算: UNION, EXCEPT和INTERSECTSQLServer
- `FULL JOIN` 和 `UNION ALL`
- union all 最佳化案例
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- oracle知識整理(1) union和union all的區別,left join和right join的區別(各種join的區別)Oracle
- Oracle優化案例-union代替or(九)Oracle優化
- union注入
- OceanBase 金融專案最佳化案例(union all 改寫)
- Oracle優化案例-又見union代替or(二十)Oracle優化
- 銀彈谷V平臺VSQL使用distinct與union all使用SQL
- union 聯合體
- union存取低高位
- union和enum使用
- MySQL中使用or、in與union all在查詢命令下的效率對比MySql
- Oracle minus用法詳解及應用例項Oracle
- 組合查詢(UNION)
- MySQL, Incorrect usage of UNION and ORDER BYMySql
- [CF1517F] Union
- 並查集(Union Find)並查集
- sql注入之union注入SQL
- Union Find程式碼塊
- Analysis of Set Union Algorithms 題解Go
- 備忘:union()後paginate分頁
- msyql jion 和 union 的區別
- SQL優化案例-union代替or(九)SQL優化
- Struct 和 Union有下列區別Struct
- SQLite語句(三):JOIN和UNIONSQLite
- Oracle批量插入資料insert all into用法Oracle
- 在實際應用中聯合體union的妙用
- MySQL中union和order by同時使用的實現方法MySql