oracle集合操作函式 備忘

2021-08-31 05:28:02 字數 1058 閱讀 8328

oracle集合操作函式(備忘)

集合操作符專門用於合併多條select 語句的結果,包括:union, union all, intersect , minus。當使用集合操作符時,必須確保不同查詢的列個數和資料型別匹配。

集合操作符具有以下注意事項:

* 集合操作符不適用於lob、varray和巢狀表列。

* union、intersect、minus操作符不使用於 long列。

* 如果選擇列表中包含有表示式或者函式,那麼必須為表示式或者函式定義列別名。

1、union (無重並集):當執行union 時,自動去掉結果集中的重複行,並以第一列的結果進行公升序排序。

2、union all (有重並集):不去掉重複行,並且不對結果集進行排序。

3、intersect (交集):取兩個結果集的交集,並且以第一列的結果進行公升序排列。

select id,name,job from worker

intersect

select empno,ename,job from emp;

4、minus (差集):只顯示在第乙個集合中存在,在第二個集合中不存在的資料。並且以第一列的結果進行公升序排序。

5、另外,可以使用order by

order by 必須放在最後一條select 語句之後,當列名相同時,可以直接用列名排序,如果不同可以用位置排序,也可以使用別名使其相同。

select id, name x from new_emp

union all

select empno, ename x from emp order by x;//列名不同時使用別名排序

select id, name ename from new_emp

union all

select empno, ename from emp order by ename;//列名不同時使用別名使其相同後排序

select id, name ename from new_emp

union all

select empno, ename from emp ;//合併後列名顯示以前乙個表為主。

Oracle 操作備忘

在oracle安裝資料夾如 c oracle network admin中的tnsnames.ora檔案可以檢視到如下資訊 july description address list address protocol tcp host snail port 1521 connect data ser...

Oracle集合操作

1.union 得到兩個結果集的並集 不含重複值 example select name,nameid from table where classid 10 union select name,nameid form table where classid 20 相當於 select name,n...

Oracle集合操作

在oracle中提供了三種型別的集合操作 並 union 交 intersect 差 minus 首先,建立還有乙個表 emp10 建立反覆資料表 emp10 create table emp10 as select from emp where deptno 10 檢視emp10 和 emp 表資...