集合的定义

集合是由一个或多个元素构成的整体,在SQLServer中的表就代表着事实集合,而其中的查询就是在集合的基础上生成的结果集。SQL Server的集合包括交集(INTERSECT)、并集(UNION)、差集(EXCEPT)。

交集(INTERSECT)

可以对两个多个结果集进行连接,形成"交集"。返回左边结果集和右边结果集中都有的记录,且结果不重复(这也是集合的主要特性)

交集限制条件

  • 子结果集要有相同的结构。
  • 子结果集的列数必须相同。
  • 子结果集对应的数据类型必须可以兼容。
  • 每个子结果集不能包含order by和compute子句。

交集语法

select * from 结果集
intersect
select * from 结果集

交集示例

select name from [testss].[dbo].[schema_table1]
intersect
select name from [testss].[dbo].[test1]

并集(UNION and UNION ALL)

可以对两个或多个结果集进行连接,形成并集。子结果集所有的记录组合在一起形成新的结果集,其中使用UNION可以得到不重复(去重复)的结果集,使用UNION ALL会得到重复(不去重的结果集)。

并集限制条件

  • 子结果集要具有相同的结构。
  • 子结果集的列数必须相同。
  • 子结果集对应的数据类型必须可以兼容。
  • 每个子结果集不能包含order by 和compute子句

并集(UNION)语法

select * from 结果集
union
select * from 结果集

并集(UNION)示例

select name from [testss].[dbo].[schema_table1]
union
select name from [testss].[dbo].[test1] 

并集(UNION ALL)语法

select * from 结果集
union all
select * from 结果集

  

并集(UNION ALL)示例

select name from [testss].[dbo].[schema_table1]
union all
select name from [testss].[dbo].[test1] 

差集(EXCEPT)

可以对两个或多个结果集进行连接,形成差集。返回左边结果集中已经有的记录,而右边结果集中没有的记录。

差集限制条件

  • 子结果集要具有相同的结构。
  • 子结果集的列数必须相同。
  • 子结果集对应的数据类型必须可以兼容。
  • 每个子结果集不能包含Order by和compute子句。

差集(EXCEPT)语法

select * from 结果集
except
select * from 结果集

差集(EXCEPT)示例

select name from [testss].[dbo].[schema_table1]
except
select name from [testss].[dbo].[test1] 

提示

集合是我们数据处理过程中的理论基础,可以通过集合的观点去很好的理解不同的查询语句。每一个物理表就是一个集合,当我们要对表进行操作的时候,将它们看成对集合的操作就很好理解了。

SQLServer之集合的更多相关文章

  1. SQLSERVER数据集合的交、并、差集运算(intersect,union,except)

    SQLServer中通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 测试示例: 构造A,B两个数据集 A:,,, B:,, W ...

  2. SQLServer数据集合的交、并、差集运算

    SQLServer2005通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 相关测试实例如下: use tempdb go if ...

  3. MSSQL sqlserver系统函数教程分享

    摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...

  4. sqlserver函数教程

    sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介mssql sqlserver CHECKSUM_AGG聚合函数使用简介mssql sqlserver coun ...

  5. SQLServer AlwaysOn在阿里云的前世今生

    缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定 ...

  6. 【SqlServer系列】集合运算

    1   概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...

  7. 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件

    通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二).   前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...

  8. sqlserver集合操作

    SQLServer2005通过intersect,union,except和三个关键字对应交.并.差三种集合运算 详细如下 use tempdb go if (object_id ('t1' ) is ...

  9. sqlserver根据id集合,批量插入。(巧用sqlserver内置函数)

    场景如下,传入的id,如1,3,4,88.可以在.net后台处理,但是我更习惯在数据库中操作. 插入数据时可以这样处理,直接贴代码. CREATE PROCEDURE pro_CategorySave ...

随机推荐

  1. Hibernate中的常用API

    1.Configuration 1.1 加载核心配置文件, 加载hibernate.properties时:Configuration configuration = new Configuratio ...

  2. Redis的九大应用场景

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  3. 图解MySQL索引--B-Tree(B+Tree)

    看了很多关于索引的博客,讲的大同小异.但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引....或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等 ...

  4. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  5. Android 手势检测实战 打造支持缩放平移的图片预览效果(下)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图 ...

  6. Java 读书笔记 (二) 对象和类

    Java 作为一种面向对象语言,支持以下基本概念: 多态 继承 封闭 抽象 类 对象 实例 方法 重载 对象: 是类的一个实例,有状态和行为.以人为例,黄种人.白种人.黑种人为类,每一个具体的人为类的 ...

  7. 【译】Flink + Kafka 0.11端到端精确一次处理语义的实现

    本文是翻译作品,作者是Piotr Nowojski和Michael Winters.前者是该方案的实现者. 原文地址是https://data-artisans.com/blog/end-to-end ...

  8. 关于Kafka __consumer_offests的讨论

    众所周知,__consumer__offsets是一个内部topic,对用户而言是透明的,除了它的数据文件以及偶尔在日志中出现这两点之外,用户一般是感觉不到这个topic的.不过我们的确知道它保存的是 ...

  9. ConnectionString 属性尚未初始化

    关于"ConnectionString 属性尚未初始化"的问题(如下图),      我在下面一段代码中发现了问题所在:   public bool ReturnFlag(stri ...

  10. bzoj 3629 聪明的燕姿 约数和+dfs

    考试只筛到了30分,正解dfs...... 对于任意N=P1^a1*P2^a2*......*Pn^an, F(N)=(P1^0+P1^1+...+P1^a1)(P2^0+P2^1+...+P2^a2 ...