1. 程式人生 > >Oracle集合操作

Oracle集合操作

   在Oracle中提供了三種類型的集合操作: 並(UNION)、交(INTERSECT)、差(MINUS)

  • UNION:將多個查詢的結果組合到一個查詢結果之中,並去掉重複值
  • UNION ALL:將多個查詢結果組合到一個查詢結果中,但是包含重複值
  • INTERSECT:返回多個查詢結果相同的部分
  • MINUS:返回兩個查詢結果的差集

首先,建立另一個表 emp10

-- 建立重複資料表 emp10
create table emp10 as (select * from emp where deptno = 10);

檢視emp10 和 emp 表資料項,emp10 共有3條記錄,emp表有14條記錄。

select * from emp10;

select * from emp;

union 多個結果並集,並去掉重複值

select * from emp10
union
select * from emp

union all 取並集且不去除重複項

select * from emp10
union all
select * from emp

intersect 返回多個查詢結果相同的部分

select * from emp10
intersect 
select * from emp;

minus 取差集

select * from emp
minus
select * from emp10;

換個寫法

select * from emp10
minus
select * from emp;

通過換寫法之後的查詢結果,可以看出,minus取的是第一個集合中有但第二個集合中沒有的記錄。