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

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

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

测试如下:

create table t1(id int,mark char(2)) go create table t2(id int,mark char(2)) go insert into t1 select 1,'t1' union all select 2,'t2' union all select 3,'t3' union all select 4,'t4' go insert into t2 select 2,'t2' union all select 3,'m3' union all select 5,'m5' union all select 6,'t6' go select * from t1 EXCEPT select * from t2 go select * from t1 INTERSECT select * from t2 go --EXCEPT结果集为 --1 t1 --3 t3 --4 t4 --INTERSECT结果集为 --2 t2

EXCEPT和INTERSECT的优先级:

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

create table t3(int id,mark char(2)) go insert into t3 select 3,'t3' union all select 3,'r3' union all select 5,'m5' union all select 5,'r5' union all select 7,'b7' union all select 8,'b8' go select * from t1 EXCEPT select * from t2 INTERSECT select * from t3 --运行结果 --1 t1 --2 t2 --3 t3 --4 t4

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

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

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

SQL Server 中关于EXCEPT和INTERSECT的用法相关推荐

  1. SQL Server 中关于EXCEPT和INTERSECT的用法以及 OPENQUERY连接Oracel比较

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

  2. SQL Server 中关于EXCEPT和INTERSECT的使用方法

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

  3. SQL Server中常用的SQL语句

    1.概述 2.查询概述 3.单表查询 4.连接查询 5.带有exists的相关子查询 6.SQL的集合操作 7.插入操作 8.删除操作 9.修改操作 10.数据定义 11.视图 1.概述 名词 笛卡尔 ...

  4. SQL在SQL Server中相交使用

    介绍 (Introduction) In this article, we will show how to use the SQL intersect logical operator using ...

  5. SQL Server中的空间SQL数据类型

    空间数据类型 (Spatial data type) SQL server furnishes us with the geometry and geography SQL data types fo ...

  6. sql server运算符_了解SQL Server中集合理论与集合运算符之间的相互作用

    sql server运算符 In this article, we will describe the relation between the Set Theory and SQL Server S ...

  7. 如何在SQL Server中比较表

    介绍 (Introduction) If you've been developing in SQL Server for any length of time, you've no doubt hi ...

  8. SQL Server中Identity标识列

    SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...

  9. predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析

    SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致 ...

最新文章

  1. SphereFace的原理
  2. 以CSGO为例 分析不同网络延时下FPS游戏同步的实现
  3. SpringCloud Gateway的组成结构
  4. Spring MVC 测试 | 模拟提交表单
  5. OpenCL 2.0发布,带来更强悍的异构计算能力
  6. mysql case 2个返回值_MySQL函数简介 2
  7. MyBatis传入参数为0时条件不生效
  8. NetBeans 时事通讯(刊号 # 120 - Oct 14, 2010)
  9. php mysql 嵌套查询_MYSQL数据库MySQL嵌套查询实例详解
  10. Java 获取本机IP地址
  11. VBScript详解(一)
  12. VS编译qt程序后生成的exe文件无法定位程序输入点于动态链接库
  13. js第六、七天 Array、string
  14. UVALive 6657 GCD XOR 异或,因子筛法
  15. 《武则天正传》读后感
  16. DSPE-PEG-LTLRWVGLMS(二硬脂酰基磷脂酰乙醇胺-聚乙二醇-肿瘤靶向蛋白);神经胶质瘤归巢肽
  17. 网上报名考试管理系统-功能齐全安全稳定-简单易用-系统试用免费
  18. JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等
  19. oppo禁用android系统通知栏,状态栏设置OPPO版
  20. 信息学奥赛一本通:1183:病人排队

热门文章

  1. 被SE降权的解决办法
  2. 【强化学习论文合集】二十.2019机器人与自动化国际会议论文(ICRA2019)
  3. mysql左连接代码,mysql多表子查询与左连接的代码
  4. Linux简易命令手册
  5. 618快到了,给大家推荐一个购物比价脚本
  6. 无法驱动此程序因为计算机,无法驱动此程序,因为计算机中丢失vcomp100.dll解决办法...
  7. linux系统下怎么使用c语言,Linux操作系统下C语言使用.ppt
  8. SpringBoot对接支付宝当面付和手机网站支付
  9. plink2.0和plink1.9的忧伤笔记
  10. 阴阳师电脑版一直连接不上服务器,阴阳师百闻牌电脑版 电脑版连不上怎么办...