union all和oracle环境,Oracle中union与union all区别

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

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

另外还有其他的集合操作符,如Intersect和Minus的操作和Union基本一致,这里一起总结一下:

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

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

SELECT codevalue,codelabel FROM

FW_CODELIST WHERE CODETYPE = 'SKLXM' AND

codevalue

UNION SELECT codevalue,codelabel FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

codevalue>'002'

返回结果:CODEVALUE CODELABEL

------------------------

001 讲授

002 实验

003 实习

004 实践

SELECT codelabel,codevalue FROM

FW_CODELIST WHERE CODETYPE = 'SKLXM' AND

codevalue

UNION SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

codevalue>'002'

返回结果:CODEVALUE CODELABEL

-------------------------

讲授 001

实践 004

实习 003

实验 002

SELECT codelabel,codevalue FROM

FW_CODELIST WHERE CODETYPE = 'SKLXM' AND

codevalue

UNION ALL

SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

codevalue>'002'

返回结果:CODELABEL

CODEVALUE

--------------------------

讲授 001

实验 002

实习 003

实习 003

实践 004

SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

INTERSECT

SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

codevalue>'002'

返回结果:CODELABEL

CODEVALUE

------------------------

实习 003

SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

MINUS

SELECT codelabel,codevalue FROM FW_CODELIST WHERE CODETYPE =

'SKLXM' AND codevalue

codevalue>'002'

返回结果:CODELABEL

CODEVALUE

------------------------

讲授 001

实验 002

在数据库中将两个结果集合并为一个我们可以用union和union all 关键字,但这两者从使用和效率上来说有所不同:

Union 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

而union all 只是简单的将两个结果合并后就返回。

从效率上来讲,union all

要比union快很多,所以如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值