SQLServer之集合
集合的定义
集合是由一个或多个元素构成的整体,在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之集合的更多相关文章
- SQLSERVER数据集合的交、并、差集运算(intersect,union,except)
SQLServer中通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 测试示例: 构造A,B两个数据集 A:,,, B:,, W ...
- SQLServer数据集合的交、并、差集运算
SQLServer2005通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 相关测试实例如下: use tempdb go if ...
- MSSQL sqlserver系统函数教程分享
摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...
- sqlserver函数教程
sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介mssql sqlserver CHECKSUM_AGG聚合函数使用简介mssql sqlserver coun ...
- SQLServer AlwaysOn在阿里云的前世今生
缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定 ...
- 【SqlServer系列】集合运算
1 概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...
- 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件
通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二). 前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...
- sqlserver集合操作
SQLServer2005通过intersect,union,except和三个关键字对应交.并.差三种集合运算 详细如下 use tempdb go if (object_id ('t1' ) is ...
- sqlserver根据id集合,批量插入。(巧用sqlserver内置函数)
场景如下,传入的id,如1,3,4,88.可以在.net后台处理,但是我更习惯在数据库中操作. 插入数据时可以这样处理,直接贴代码. CREATE PROCEDURE pro_CategorySave ...
随机推荐
- Jvm虚拟机结构与机制
JVM(Java Virtual Machine)在研究JVM的过程中会发现,其实JVM本身就是一个计算机体系结构,很多原理和我们平时的硬件.微机原理.操作系统都有十分相似的地方,所以学习JVM本身也 ...
- java并发之读写锁ReentrantReadWriteLock的使用
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象. 读写锁:分为读 ...
- WPF 毛笔字
1.先来看看InkCanvas的一般用法: <InkCanvas> <InkCanvas.DefaultDrawingAttributes> < ...
- HTML(总结)
HTML 浏览器内核有哪些 Trident:IE Gecko:Firefox Webkit:Chrome Safari Presto:Opera(投奔Webkit) html5的一些新特性 1. 拖拽 ...
- 学会这15点,让你分分钟拿下Redis数据库
1.Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI ...
- storage.go
package storage import ( "fmt" "os" ) const DEFAULT_STORAGE_ENGINE = &qu ...
- channel.go
) c.RLock() client, ok := c.clients[msg.clientID] c.RUnlock() if ok ...
- 将外部dwg图纸中指定带属性的块插入到当前图纸中
static void InsertBlock() { //获取要插入的块名 TCHAR str[40]; acedGetString(Adesk::kFalse, _T("\n请输入要插入 ...
- BZOJ_1691_[Usaco2007 Dec]挑剔的美食家_贪心
BZOJ_1691_[Usaco2007 Dec]挑剔的美食家_贪心 题意: 与很多奶牛一样,Farmer John那群养尊处优的奶牛们对食物越来越挑剔,随便拿堆草就能打发她们午饭的日子自然是一去不返 ...
- WPF 列表开启虚拟化的方式
正确开启虚拟化的方式 列表如ListBox,ListView,TreeView,GridView等,开启虚拟化 ScrollViewer设置CanContentScroll=True 直接在模板中,设 ...