SQL SERVER: 合并相关操作(Union,Except,Intersect)
SQL Server 中对于结果集有几个处理,值得讲解一下
1. 并集(union,Union all)
这个很简单,是把两个结果集水平合并起来。例如
SELECT * FROM A
UNION
SELECT * FROM B
【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而union all则会保留重复行。
2. 差异(Except)
就是两个集中不重复的部分。例如
SELECT * FROM A
EXCEPT
SELECT * FROM B
这个的意思是,凡是不出现在B表中的A表的行。
3. 交集(intersect)
就是两个集中共同的部分。例如
SELECT * FROM A
INTERSECT
SELECT * FROM B
这个的意思是,同时出现在A和B中的记录
本文由作者:陈希章 于 2009/6/26 18:31:02 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
本文是使用博客同步和管理系统自动于2009/6/26 18:31:04 从 陈希章@博客园 同步过来的。原文地址: http://www.cnblogs.com/chenxizhang/archive/2009/06/26/1511889.html ,发表于2009/6/26 10:31:00.本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen_xizhang/archive/2009/06/26/4301621.aspx
union, EXCEPT 和 INTERSECT使用方法:
SQL中的UNION, EXCEPT 和 INTERSECT做下演示:
这三个放在一起是有理由的,因为他们都是操作两个或多个结果集,并且这些结果集有如下限制:
- 所有查询中的列数和列的顺序必须相同.
- 数据类型必须兼容.
并且它们都是处理于多个结果集中有重复数据的问题
首先还是创建测试环境
use tempdbcreate table tempTable1 (id int primary key identity, price int)
create table tempTable2 (id int primary key identity, price int)
insert into tempTable1 select 3 union all select 1 union all select 2 union all select 3
insert into tempTable2 select 3 union all select 4 union all select 1 union all select 2select * from temptable1
select * from temptable2两个表的初始结果如下
非常简单的两个表,列数和列顺序一样. 只要保证有数据完全一致,就可以说他们是重复的数据, 这样用上面3个运算词才会有效.
先来看看UNION和UNION ALL
select * from temptable1
union
select * from temptable2select * from temptable1
union all
select * from temptable2有 ALL 关键字是完全整合两个结果集,而无 ALL 是在之前的基础上去重了,所以第一个查询中{id:1, price:3}只会显示一条,结果如下:
在来看看EXCEPT, 也是去重的, 但是它在去掉两个或多个集合中重复数据的之后, 只会保留第一个结果集中的数据
select * from temptable1
except
select * from temptable2
其实也是查询表A, 看表A的数据在表B中是否存在, 如果存在, 则删掉
而INTERSECT比较好理解, 就是查询两个结果集的并集, 利用上面的数据,查询到的结果只有一条, 就是{id:1, price:3}, 这里就不给出代码和结果图
SQL SERVER: 合并相关操作(Union,Except,Intersect)相关推荐
- sql server 2005中的except和INTERSECT运算
sql server 2005中的except和INTERSECT运算 一直学数据库的都知道,关系运算有交,差,并,等运算,而之前的版本一直只看到并,好象很少看到有差,交的运算显式的表达在操作SQL语 ...
- Sql Server 内存相关计数器以及内存压力诊断
原文:Sql Server 内存相关计数器以及内存压力诊断 在数据库服务器中,内存是数据库对外提供服务最重要的资源之一, 不仅仅是Sql Server,包括其他数据库,比如Oracle,MySQL等, ...
- Linux上SQL Server合并复制
Replication is a process to manage multiple copies of the same data at a different node. Microsoft S ...
- sql server合并行_合并SQL Server复制参数化的行筛选器问题
sql server合并行 In this article we will discuss about SQL Server Merge Replication Parameterized row f ...
- sql server 快照_在SQL Server合并复制中应用快照时出现外键问题
sql server 快照 This article will review specific SQL Server merge replication issues related to forei ...
- 收集的SQL Server性能相关资料
这是本人在工作中整理的关于SQL Server性能相关资料,便于随时查阅 目录 性能监视器指标 内存问题诊断 侦测 CPU 压力 磁盘相关 内存 Memory Clerks Buffer Pool P ...
- SQL Server 日期相关
[置顶] SQL Server 日期相关 标签: sql serversqlserver 日期日期转换日期操作date 2012-06-13 01:25 11002人阅读 评论(12) 收藏 举报 ...
- [翻译]一步步教你配置SQL SERVER合并复制(五)配置Publisher(上)
上一篇:一步步教你配置 SQL SERVER合并复制(四)设置Distributor的安全 (译者注:本篇内容较多也是合并复制最重要的一个环节之一,因此配置Publisher将分成两个章节来翻译) ...
- [翻译]一步步教你配置SQL SERVER合并复制(四)提高Distributor的安全性
上一篇:一步步教你配置SQL SERVER合并复制(三)配置Distributor 为了让已订阅数据库的设备能够更好地去联系Distributor,你必须在数据库中添加一个域用户,让设备能够通过这个用 ...
- SQL Server远程连接操作
SQL Server远程连接操作 -- 开启远程选项 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure ...
最新文章
- Python,Opencv cv2.Canny()边缘检测
- Xcode 5 Error CertUIFramework.axbundle
- pom.xml中spring-boot-starter-test包的使用
- linux cp 命令使用一角
- 上海交通大学2006年数学分析考研试题
- realloc函_[转载]realloc函数的使用及注意事项(转)
- Django echarts初试随笔
- 利用opencv从USB摄像头获取图片
- python设置环境变量_小白Python进行中
- SDN的机遇与挑战 让宽带利用率与硬件不再是难题
- Docker教程小白实操入门(4)--如何停止一个容器
- SQL查询1-12月的数据
- java实现供应链_基于jsp的企业物流供应链-JavaEE实现企业物流供应链 - java项目源码...
- 服务器显示屏 超出工作频率范围,Win10显示器显示超出工作频率范围解决方法
- 蜂巢网格生态护坡材料,我们一直在努力
- exsi rh2288hv5 驱动_华为RH2288H V5服务器windows 2012阵列卡驱动
- 及时尽孝,别枉读了大学
- python 编辑器 pycharm
- bootstrap搭建后台管理页面
- lwip源码分析 之 DHCP协议实现(一)
热门文章
- Eclipse找不到或无法加载主类
- android studio for android learning (十三) 一个简单的图片查看器示例
- 计算机图形学完整笔记(八):曲线曲面 - 2
- 如何在 Codeforces 上出题?
- LaTeX 引用表格、照片、公式的时候自动添加 table,fig,equ
- css background 旋转_纯CSS画小电视
- eja智能压力变送器工作原理_EJA智能压力变送器
- 全局配置_再次强调:必须站在全局的角度去考虑客厅的内机配置
- 数据库管理(事务、ACID、并发、封锁、可串行化、隔离)
- CSS之cursor用法