oracle中union 与union all区别
原创
©著作权归作者所有:来自51CTO博客作者张静静的原创作品,请联系作者获取转载授权,否则将追究法律责任
SQL SELECT .... SQL UNION 和UNION ALL 操作符SQL UNION 操作符: UNION 操作符用于合并两个或多个SELECT 语句的结果集。 ... 可以看出, 使用union 的时候, 结果集的排列顺序是按照升序排列的, 使用union all 的时候, 结果集是按照记录插入的先后顺序排列的。 union会过滤重复行数据,而union all则不会,会全部显示出来。
select
' ' datenum,'' datenumber ,to_date(to_char(sysdate,'dd-mm-yyyy'),'dd-mm-yyyy') datetime from dual
union
select to_char(trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1,'mm-dd-yyyy') datenum ,
to_char(trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1,'mm-dd-yyyy') datenumber,
trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1
datetime
from (select rownum rn from all_objects where rownum<32)
它的结果与union all的结果是不一样的。
select
to_char(trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1,'mm-dd-yyyy') datenum ,
to_char(trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1,'mm-dd-yyyy') datenumber,
trunc(to_date(to_char(sysdate,'mm-dd-yyyy'),'mm-dd-yyyy'),'dd')-rn+1
datetime
from (select rownum rn from all_objects where rownum<32)
union all
select ' ' datenum,'' datenumber ,to_date(to_char(sysdate,'dd-mm-yyyy'),'dd-mm-yyyy') datetime from dual order by datetime desc
有时我们会根据需要来选择用union还是union all。比如我们要使用某些字段进行排序得到不同的结果。就需要注意union 与union all之间的细微差别了。
上一篇:ORACLE中日期和时间函数
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Oracle中UNION 与UNION ALL的学习
Oracle中UNION 与UNION ALL的学习[code]1、UNION:并集,所有的内容都查
Oracle 数据结构 结果集 并集 数据 -
Oracle中的Union和Union All的区别
Oracle中的Union和Union All的区别
Union Union All 区别 O -
oracle union all
select rownum ,r.readdate
oracle union all oracle查询的信息放到最前边 d3 -
数据库中union 与union all 的区别
资料:数据库中,UNION和UNION ALL都...
数据库 结果集 数据 返回结果