UNION 与UNION ALL UNION 将返回两个查询的结果并去除其中的重复部分下边有两个值勤人员表:
输入: SQL> SELECT * FROM FOOTBALL 输出:
NAME
------
ABLE
BRAVO
CHARLIE
DECON
EXITOR
FUBAR
GOOBE
7 rows selected.
--------
输入: SQL> SELECT * FROM SOFTBALL
输出:
NAME
-----
ABLE
BAKER
CHARLIE
DEAN
EXITOR
FALCONER
GOOBER
7 rows selected.
--------
在这两个表中有哪些不重复的人员呢
输入/输出: SQL> SELECT NAME FROM SOFTBALL 2 UNION 3 SELECT NAME FROM FOOTBALL
NAME
-------
ABLE
BAKER
BRAVO
CHARLIE
DEAN
DECON
EXITOR
FALCONER
FUBAR
GOOBER
10 rows selected.
----------
UNION 返回了两个表中的10 个记录它们是不重复的但是两个表中共有多少人呢包括重复的人员
输入/输出:
SQL> SELECT NAME FROM SOFTBALL 2 UNION ALL 3 SELECT NAME FROM FOOTBALL
NAME
----------
ABLE
BAKER
CHARLIE
DEAN
EXITOR
FALCONER
GOOBER
ABLE
BRAVO
CHARLIE
DECON
EXITOR
FUBAR
GOOBER
14 rows selected.
------------------
分析可以看到UNION ALL 与UNION 一样对表进行了合并但是它不去掉重复的记录
可是如果我们想知道都有谁同时在两个表中呢UNION 无法做到这一点我们需要学习使用 INTERSECT INTERSECT 相交 INTERSECT 返回两个表中共有的行看下例它将返回两个表中有存在的员工
输入: SQL> SELECT * FROM FOOTBALL 2 INTERSECT 3 SELECT * FROM SOFTBALL
输出
NAME
--------
ABLE
CHARLIE
EXITOR
GOOBER
--------
分析这些记录是两个表中都存在的 MINUS 相减 MINUS 返回的记录是存在于第一个表中但不存在于第二个表中的记录
例如输入: SQL> SELECT * FROM FOOTBALL MINUS SELECT * FROM SOFTBALL
输出
NAME
--------
BRAVO
DECON
FUBAR
--------
上例中显示了三个不在垒球队中的足球队员如果你把语句的次序颠倒那么你将得到在垒球队中但不在足球队中的队员
输入: SQL> SELECT * FROM SOFTBALL MINUS SELECT * FROM FOOTBALL
输出
NAME
-------
BAKER
DEAN
FALCONER
--------
分享到:
相关推荐
Microsoft SQL Server 2008技术内幕:T-SQL语言基础(集合运算)练习sql文件
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
SQL集合运算及常用函数[定义].pdf
Task04:集合运算 - 表的加减法和 join 等.pdf
6.2 INTERSECT(交集)集合运算 6.3 EXCEPT(差集)集合运算 6.4 集合运算的优先级 6.5 避开不支持的逻辑查询处理 6.6 总结 6.7 练习 6.8 解决方案 第7章 透视、逆透视及分组集 7.1 透视...
6.2 INTERSECT(交集)集合运算 6.3 EXCEPT(差集)集合运算 6.4 集合运算的优先级 6.5 避开不支持的逻辑查询处理 6.6 总结 6.7 练习 6.8 解决方案 第7章 透视、逆透视及分组集 7.1 透视转换 7.2 逆透视...
6.2 INTERSECT(交集)集合运算 6.3 EXCEPT(差集)集合运算 6.4 集合运算的优先级 6.5 避开不支持的逻辑查询处理 6.6 总结 6.7 练习 6.8 解决方案 第7章 透视、逆透视及分组集 7.1 透视转换 7.2...
SQL Server中的集合运算包括UNION(合并),EXCEPT(差集)和INTERSECT(相交)三种。 集合运算的基本使用 1.UNION(合并两个查询结果集,隐式DINSTINCT,删除重复行) --合并两个提取表/派生表(derived table), 返回结果为:...
代数是1种抽象的数据集合的操作方式来表达数据运算能力的,它是关系数据库标准语言s(1L查询操作的 理论基础 本文从已经给出的关系代数的各种运算的定义出发,将与标准s( 操作一一对应,得出相应的 SQL语句结论,以便...
SQLServer2005通过intersect,union,except和三个关键字对应交、并、差三种集合运算。
为什么使用集合运算: 在集合运算中比联接查询和EXISTS/NOT EXISTS更方便。 并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合。 在T-SQL中。UNION集合运算可以将两个输入查询的结果...
7.2.5 在集合运算中使用INTO 7.2.6 避开不支持的逻辑阶段 7.3 总结 第8章 数据聚合和透视 8.1 OVER 子句 8.2 决胜属性(Tiebreaker) 8.3 连续聚合 8.3.1 累积聚合(Cumulative Aggregation) 8.3.2 滑动...
7.2.5 在集合运算中使用INTO336 7.2.6 避开不支持的逻辑阶段336 7.3 总结338 第8章 数据聚合和透视339 8.1 OVER 子句339 8.2 决胜属性(Tiebreaker)341 8.3 连续聚合343 8.3.1 累积聚合(Cumulative Aggregation)...
019.sql高级查询_集合运算.mp4 020.sql高级查询_约束.mp4 021.sql高级查询_关联之通用写法001.mp4 022.sql高级查询_子查询.mp4 023.sql高级查询_关联之通用写法002.mp4 024.sql高级查询_子查询套关联.mp4 025.sql...
(1)IN运算符:它可以用来匹配一个固定集合中的某一项。比如说一个集合里面的年份有(2001,2003,2005),那么就可以有: 代码如下:SELECT * FROM T_BookWHERE ...(2)ANY和SOME集合运算符:在SQL SERVER里面,ANY和SOM
7.2.5 在集合运算中使用INTO336 7.2.6 避开不支持的逻辑阶段336 7.3 总结338 第8章 数据聚合和透视339 8.1 OVER 子句339 8.2 决胜属性(Tiebreaker)341 8.3 连续聚合343 8.3.1 累积聚合(Cumulative ...
9.4.1 关系的集合运算 177 9.4.2 union运算符 178 9.4.3 order by子句排序union运算结果 180 9.4.4 对多表进行union运算 181 9.4.5 union join 连接表 183 9.5 表连接的其他应用及注意问题 183 9.5.1 连接表...