SQL集合操作符笔记

借助老婆的电脑,简单地对sql的四个集合操作符做个笔记。

Oracle SQL里实现了四个和集合运算相关操作符:UNION,UNION ALL,INTERSECT,MINUS

除了UNION ALL之外,其他三个操作符都要对结果集进行去重和排序,而UNION ALL既不去重也不排序。

UNION,可以理解为合并,就是合并两个结果集,并去重和排序。

UNION ALL,则可以理解为不去重也不排序的合并。

INTERSECT,可以理解为数学上的交集(反正我是这样想的),就是两个结果集的共同拥有的部分,也要对最终的结果集进行去重和排序。

MINUS,可以理解为相减(反正我也是这样理解的),描述稍微复杂些:

select A from table1

MINUS

select B from table2

意思是A减去A和B的交集,比如A(1,1,2,3),B(2,3,4),那么上面的sql运算结果为(1),要去重和排序的。

好像在标准sql里,没有MINUS这个操作符,取而代之是EXCEPT,不知道为什么Oracle为什么要自己搞一套。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值