Oracle中的集合運算

前言:在實際項目中對多表進行集合運算使用很是普遍,如下是對集合操做的部分總結。測試

一,建表,插入測試數據spa

 1 create table a(
 2   numbers integer
 3 )
 4 
 5 create table b(
 6   numbers integer
 7 )
 8 
 9 insert into a values(7956);
10 insert into a values(7953);
11 insert into a values(7966);
12 insert into a values(7933);
13 commit
14 
15 insert into b values(7979);
16 insert into b values(7955);
17 insert into b values(7968);
18 insert into b values(7933);
19 commit

二,求並集,返回a,b兩表中全部記錄,[去重]code

1 select numbers from a
2 union
3 select numbers from b

三,求並集,返回a,b兩表中全部記錄,[不去重]blog

1 select numbers from a
2 union all
3 select numbers from a

四,求差集,返回只存在a表中的記錄,剔除a表與b表相同的記錄it

1 --方法一
2 select numbers from a where numbers not in (select numbers from b )
3 --方法二
4 select numbers from a 
5 minus 
6 select numbers from b

五,求交集,返回a表與b表中相同的記錄io

1 --方法一
2 select numbers from a where numbers in (select numbers from b )
3 --方法二
4 select numbers from a 
5 intersect
6 select numbers from b
相關文章
相關標籤/搜索