Oracle中UNION 与UNION ALL的学习
[code]
1、UNION:并集,所有的内容都查询,重复的显示一次;
2、UNION ALL:并集,所有的内容都显示,包括重复的;
3、INTERSECT:交集,只显示重复的;
4、MINUS:差集,只显示对方没有的(跟顺序是有关系的)
两者都是对记录集操作,把来自许多SELECT语句的结果组合到一个结果集合中。不过值得注意的一点是,类型的一致性,既要满足,列于每个 SELECT语句的对应位置的被选择的列应具有相同的类型。(例如,被第一个语句选择的第一列应和被其它语句选择的第一列具有相同的类型。)
1. UNION语法结构:
2. SELECT ...
3. UNION [ALL]
4. SELECT ...
5. [UNION [ALL]
6. SELECT ...
UNION语法结构:
SELECT ...
UNION [ALL]
SELECT ...
[UNION [ALL]
SELECT ...
UNION 与 UNION ALL 的区别:
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。但是,如果表数据量大,就可能导致用磁盘进行排序。
UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL要比UNION快很多,重要的一点就是不需要排序。在考虑两
者如何使用更适合某一种场景,就要从做UNION的两张表上考虑了,如果不会出现
重复数据,就优先考虑UNION ALL。
[/code]
Oracle中UNION 与UNION ALL的学习
原创
©著作权归作者所有:来自51CTO博客作者mb644638dfa963e的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Java泛型简单总结
下一篇:大数据量高并发的数据库优化
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Oracle中的Union和Union All的区别
Oracle中的Union和Union All的区别
Union Union All 区别 O -
oracle union all
select rownum ,r.readdate
oracle union all oracle查询的信息放到最前边 d3