zoukankan      html  css  js  c++  java
  • SQL Server 中关于EXCEPT和INTERSECT的用法(转)

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

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

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

    测试如下:

    1. create table t1(id int,mark char(2))  
    2. go  
    3. create table t2(id int,mark char(2))  
    4. go  
    5. insert into t1  
    6.     select 1,'t1' union all  
    7.     select 2,'t2' union all  
    8.     select 3,'t3' union all  
    9.     select 4,'t4'  
    10. go  
    11. insert into t2  
    12.     select 2,'t2' union all  
    13.     select 3,'m3' union all  
    14.     select 5,'m5' union all  
    15.     select 6,'t6'  
    16. go  
    17. select * from t1  
    18. EXCEPT  
    19. select * from t2  
    20. go  
    21. select * from t1  
    22. INTERSECT  
    23. select * from t2  
    24. go  
    25.   
    26. --EXCEPT结果集为  
    27. --1 t1  
    28. --3 t3  
    29. --4 t4  
    30.   
    31. --INTERSECT结果集为  
    32. --2 t2  

    EXCEPT和INTERSECT的优先级:

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

    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  

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

    ExceptIntersect

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

    如需转载,请注明本文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor

  • 相关阅读:
    iPhone电话与短信相关代码小结
    时间都去哪儿了?开源一个统计iPhone上App运行时间和打开次数的小工具【iOS8已失效】
    分享一个仿网易新闻客户端iPhone版的标签式导航ViewController
    iOS推送小结(证书的生成、客户端的开发、服务端的开发)
    Argy1risMatrix1
    2019河南模考题
    撮箕2020-3-8
    数学符号md
    2014全国甲&2015福建-几何题
    零点
  • 原文地址:https://www.cnblogs.com/honkcal/p/2776738.html
Copyright © 2011-2022 走看看