T-SQL Part X: UNION, EXCEPT and INTERSECT

MSDN上关于EXCEPT和INTERSECT的文档。MSDN上关于UNION的文档

值得注意的是,UNION其实有两种,一种是普通的UNION,另外一种是UNION ALL。加上EXCEPT和INTERSECT构成了T-SQL中的四种Set操作。

  • UNION ALL:把左表和右表合成一张表并返回;
  • UNION:把左表和右表去除重复项后,合成一张表并返回。换言之,UNION的结果集中没有重复项。
  • EXCEPT:去除左表中曾出现在右表中的项,将左表中剩余项返回。换言之,EXCEPT返回一个结果集,其中所有的项都只在左表中出现且并未出现在右表中。
  • INTERSECT:返回左表和右表都出现过的项。

示例一,找出所有没有生成Order的Customer:

SELECT [ID] FROM Customers
EXCEPT
SELECT [ID] FROM Orders;
GO

示例二,找出所有既是Customer又是Vendor:

SELECT [ID] FROM Customers
INTERSECT
SELECT [ID] FROM Vendors;
GO

是为之记。
Alva Chien
2016.6.15

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值