1. 程式人生 > >oracle 的交並差函數,intersect;union;minus。

oracle 的交並差函數,intersect;union;minus。

blog var nbsp 不包含 font creat ble eat ont

創建表並添加數據:

--創建TABLE_A
create table TABLE_A  
(  
 A varchar2(10),  
 B varchar2(10)  
);
--給TABLE_A添加數據
insert into TABLE_A  values(a1,b1);  
insert into TABLE_A  values(a2,b2);  
insert into TABLE_A  values(a3,b3);  


--創建TABLE_B 
create table TABLE_B  
(  
 A varchar2(10),  
 B varchar2
(10) ); --給TABLE_B添加數據 insert into TABLE_B values(a1,b1); insert into TABLE_B values(a2,b2); insert into TABLE_B values(a4,b4);

intersect:  返回查詢結果中相同的部分(交集)。

SELECT A,B FROM TABLE_A 
INTERSECT     
SELECT A,B FROM TABLE_B;

--結果
A         B
------------
a1        b1
a2        b2

union,union all:  將查詢的結果組合後返回, union會過濾重復,union all不過濾重復。

--  TABLE_A和TABLE_B會去除重復數據
SELECT A,B FROM TABLE_A
UNION  
SELECT A,B FROM TABLE_B;  

--結果
A         B
------------
a1        b1
a2        b2
a3        b3
a4        b4

--  TABLE_A和TABLE_B中的所有數據
SELECT A,B FROM TABLE_A 
UNION ALL   
SELECT
A,B FROM TABLE_B; --結果 A B ------------ a1 b1 a1 b1 a2 b2 a2 b2 a3 b3 a4 b4

minus:  返回在第一個查詢結果中包含第二個查詢結果中不包含的數據。

SELECT A,B FROM TABLE_A
MINUS  
SELECT A,B FROM TABLE_B;

--結果
A        B
-----------
a3       b3

oracle 的交並差函數,intersect;union;minus。