sql server 2005基于集合的操作

SQL Server 2005目前支持三种集合操作:UNION、ExCEPT和INTERSECT.而SQL SERVER 2000只支持UNION。集合操作在两个输入中比较全部行。UNION返回包含两个输入中所有行的结果集。如果未指定ALL选选,UNION将从结果集中移除重复行。EXCEPT返回出现在左输入但未出现在右输入的不重复行。INTERSECT返回在两个输入中都出现过的不重复行。

集合操作的逻辑处理阶段中ORDER BY不能用于不能用于集合操作的单个查询中。我们只能在查询的最后制定ORDER BY子句,但它将于用于集合操作的结果集。

例如表A数据如下图:


使用EXCEPT的语句select * from dbo.A   EXCEPT select *from dbo.A where Field_K <3 order by Field_K desc

使用INTERSECT的情况select * from dbo.A   intersect select *from dbo.A where Field_K <3 order by Field_K desc

有此可以发现,我们在使用not in的时候可以用EXCEPT来实现,not in效率低,会使索引失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值