您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页SQL Server 中关于EXCEPT和INTERSECT的用法

SQL Server 中关于EXCEPT和INTERSECT的用法

来源:保捱科技网

熟练使用SQL Server中的各种用法会给查询带来很多方便。今天就介绍一下EXCEPT和INTERSECT。注意此语法仅在SQL Server 2005及以上版本支持。

EXCEPT是指在第一个集合中存在,但是不存在于第二个集合中的数据。

INTERSECT是指在两个集合中都存在的数据。

测试如下:

[c-sharp]

 

 

EXCEPT和INTERSECT的优先级:

为了测试它们之间的优先级,运行下面的测试代码:

[c-sharp]
  1. create table t3(int id,mark char(2))  
  2. go  
  3. insert into t3  
  4.     select 3,'t3' union all  
  5.     select 3,'r3' union all  
  6.     select 5,'m5' union all  
  7.     select 5,'r5' union all  
  8.     select 7,'b7' union all  
  9.     select 8,'b8'  
  10. go  
  11. select * from t1  
  12. EXCEPT  
  13. select * from t2  
  14. INTERSECT  
  15. select * from t3  
  16.   
  17. --运行结果  
  18. --1 t1  
  19. --2 t2  
  20. --3 t3  
  21. --4 t4  

 

为什么会出现如上结果呢,请看下面的执行计划:

 

原来t2和t3先进行的INTERSECT运算,得出5 m5结果集,再和t1进行EXCEPT运算。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务