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、MinusOracle
- Oracle 中Union、Union All、Intersect、Minus(並,交,差)Oracle
- Oracle的集合操作(union、union all、intersect、minus集合函式)Oracle函式
- sql_intersect交集_minus差集_並集union_union allSQL
- sql中union和union all的用法SQL
- SQL Union和SQL Union All用法(轉)SQL
- sql中union和union allSQL
- 【SQL】SELECT語句中集合運算子 UNION/INTERSECT/MINUSSQL
- sql中UNION和UNION ALL的區別SQL
- union all和union的區別
- 理解full outer jion,union,union all
- union和union all的區別
- Union與Union All的區別
- MySQL學習(五) UNION與UNION ALLMySql
- 查詢集合操作union與union all
- 【SQL】UNION ALL 與UNION 的區別SQL
- SQL UNION 和 UNION ALL 操作符SQL
- union用法
- SQL UNION 操作符 和 UNION ALL 操作符SQL
- Union和Union All到底有什麼區別
- SQL Server中的集合運算: UNION, EXCEPT和INTERSECTSQLServer
- Oracle union all 不走索引的優化Oracle索引優化
- union all 最佳化案例
- sql_union all_列別名SQL
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- UNION效率比UNION ALL效率高——SQL優化之Everything is possibleSQL優化
- 表連線 join和(+)、union和uion allUI
- 【轉】UNION效率比UNION ALL效率高——SQL優化之Everything is possibleSQL優化
- 【SQL 學習】INTERSECT,MINUS ,SQL
- oracle知識整理(1) union和union all的區別,left join和right join的區別(各種join的區別)Oracle
- Oracle優化案例-union代替or(九)Oracle優化
- 查詢集合操作intersect與minus
- 【FULL OUTER JOIN】全外連線的union all改寫方法
- MYSQL merge union merge sort_union 的不同MySql
- ORACLE SQL的EXCEPT、INTERSECT用法OracleSQL
- Oracle SQL語句優化之UNIONOracleSQL優化
- 銀彈谷V平臺VSQL使用distinct與union all使用SQL
- 透過union all把sql查詢的結果拼接起來SQL