oracle的集合操作符,Oracle集合操作符union、union all、intersect和minus

Oracle集合操作符union、union all、intersect和minus

废话少说直奔主题:

如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。  www.2cto.com

1. union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

2. union All:对两个结果集进行并集操作,包括重复行,不进行排序;

3. intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

4. minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。

可以在最后一个结果集中指定Order by子句改变排序方式。

例:

1. union:

[sql]

SELECT * FROM emp

WHERE sal < 1500

UNION

SELECT * FROM emp

WHERE sal  BETWEEN 1000 AND 2000

ORDER BY 1;     www.2cto.com

199595_0.png

2. union all:

[sql]

SELECT * FROM emp

WHERE sal < 1500

UNION ALL

SELECT * FROM emp

WHERE sal  BETWEEN 1000 AND 2000

ORDER BY 1;

199595_1.png

3. intersect:

[sql]

SELECT deptno

FROM dept

INTERSECT

SELECT DISTINCT deptno

FROM emp;

[sql]

DEPTNO

------

10

20

30

www.2cto.com

4. minus:

[sql]

SELECT deptno

FROM dept

MINUS

SELECT DISTINCT deptno

FROM emp;

[sql]

DEPTNO

------

40

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值