oracle 集合运算

集合运算就是将两个或多个结果集 组合成一个结果集。集合运算包括:

    INTERSECT(交集):返回两个查询共有的记录

    UNION ALL(并集):返回各个查询的所有记录,包括重复记录。

    UNION(并集):返回各个查询的所有记录,不包括重复记录。

    MINUS(补集):返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

 

当使用集合操作的时候,要注意:查询所返回的列数以及列的类型必须匹配,列名可以不同。

 

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as scott

SQL> select deptno from dept;
 
DEPTNO
------
    10
    20
    30
    40
 
SQL> select deptno from emp;
 
DEPTNO
------
    20
    30
    30
    20
    30
    30
    10
    20
    10
    30
    20
    30
    20
    10
 
14 rows selected
 

代码演示:INTERSECT

SQL> select deptno from dept INTERSECT select deptno from emp;
 
DEPTNO
------
    10
    20
    30

 

代码演示:UNION ALL

SQL> select deptno from dept union all select deptno from emp;
 
DEPTNO
------
    10
    20
    30
    40
    20
    30
    30
    20
    30
    30
    10
    20
    10
    30
    20
    30
    20
    10
 
18 rows selected

SQL> select deptno from emp union all select deptno from dept;
 
DEPTNO
------
    20
    30
    30
    20
    30
    30
    10
    20
    10
    30
    20
    30
    20
    10
    10
    20
    30
    40
 
18 rows selected

 

代码演示:UNIONO

SQL> select deptno from emp UNION select deptno from dept;
 
DEPTNO
------
    10
    20
    30
    40

 

代码演示:MINUS

SQL> select deptno from dept MINUS select deptno from emp;
 
DEPTNO
------
    40
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值