Oracle的集合运算

一、所谓的集合运算
集合运算是用来把两个或多个查询的结果集做并、交、查的集合运算,包含集合运算的查询称为复合查询。

二、集合运算的几种方式

1、联合运算(union) [去重 不排序]
联合运算是从两个查询返回除去重复值后的结果。

这里写图片描述

2、完全联合运算(union all)[不去重 升序]
完全联合运算是从每个查询返回包括所有重复的结果。
注意:使用union all会比union的速度快,因为省去了去掉重复记录的时间。

这里写图片描述

3、相交运算(intersect) [不去重 升序]
相交运算返回多个查询中所有相同的行。

这里写图片描述

4、相减运算(minus)[不去重 升序]
相减运算返回在第一个查询中而不在第二个查询中的行。
(第一个 SELECT 语句减第二个 SELECT 语句)。

这里写图片描述

三、集合运算要看的原则

1、在两个select列表中的表达式必须在数目和数据类型上相匹配。

2、可以用圆括号改变执行的顺序。

3、order by 子句只能出现在语句的最后,从第一个select语句接收列名、别名或者位置记号。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/lin434406218/article/details/53939166