T-SQL Part X: UNION, EXCEPT and INTERSECT
2016-06-15 12:22
519 查看
MSDN上关于EXCEPT和INTERSECT的文档。MSDN上关于UNION的文档。
值得注意的是,UNION其实有两种,一种是普通的UNION,另外一种是UNION ALL。加上EXCEPT和INTERSECT构成了T-SQL中的四种Set操作。
UNION ALL:把左表和右表合成一张表并返回;
UNION:把左表和右表去除重复项后,合成一张表并返回。换言之,UNION的结果集中没有重复项。
EXCEPT:去除左表中曾出现在右表中的项,将左表中剩余项返回。换言之,EXCEPT返回一个结果集,其中所有的项都只在左表中出现且并未出现在右表中。
INTERSECT:返回左表和右表都出现过的项。
示例一,找出所有没有生成Order的Customer:
示例二,找出所有既是Customer又是Vendor:
是为之记。
Alva Chien
2016.6.15
值得注意的是,UNION其实有两种,一种是普通的UNION,另外一种是UNION ALL。加上EXCEPT和INTERSECT构成了T-SQL中的四种Set操作。
UNION ALL:把左表和右表合成一张表并返回;
UNION:把左表和右表去除重复项后,合成一张表并返回。换言之,UNION的结果集中没有重复项。
EXCEPT:去除左表中曾出现在右表中的项,将左表中剩余项返回。换言之,EXCEPT返回一个结果集,其中所有的项都只在左表中出现且并未出现在右表中。
INTERSECT:返回左表和右表都出现过的项。
示例一,找出所有没有生成Order的Customer:
SELECT [ID] FROM Customers EXCEPT SELECT [ID] FROM Orders; GO
示例二,找出所有既是Customer又是Vendor:
SELECT [ID] FROM Customers INTERSECT SELECT [ID] FROM Vendors; GO
是为之记。
Alva Chien
2016.6.15
相关文章推荐
- SqlServer 2005 T-SQL Query 学习笔记(3)
- SQL Server中的T-SQL的基本对象
- SQL学习笔记六 union联合结果集使用
- SqlServer 2005 T-SQL Query 学习笔记(2)
- SQL语句的并集UNION 交集JOIN(内连接,外连接)等介绍
- SQLSERVER中union,cube,rollup,cumpute运算符使用说明
- T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法
- SqlServer 2005 T-SQL Query 学习笔记(4)
- union组合结果集时的order问题
- 数据库中union 与union all 的区别
- 深入SQL SERVER合并相关操作Union,Except,Intersect的详解
- MySQL union 语法代码示例分析
- sql Union和Union All的使用方法
- union这个连接是有什么用的和INNER JOIN有什么区别
- MySQL实现差集(Minus)和交集(Intersect)测试报告
- C++联合体union用法实例详解
- C语言、C++中的union用法总结
- MySQL中使用自定义变量 编写偷懒的UNION示例
- 关于用mysql创建视图以及union all 和group by相关介绍
- python中try except处理程序异常的三种常用方法