oracle order by 和union all(union)的使用

来源:互联网 发布:逆袭网络剧第二集 编辑:程序博客网 时间:2024/05/22 13:53

正常思维肯定都是如此写

select * from dual order by 1
union all
select * from dual order by 1

但是这样的sql会报错,sql命令未正确结束

下面提供三种方式

1.

select * from dual
union all
select * from dual order by 1;

虽然order by 是写在最后,第一个没有写,这里的order by 是对整体起作用


2.

select * from (select * from dual
union all
select * from dual) order by 1

这跟第一个种其实是一样的,效果也是一样的


3.

select * from (select * from dual order by 1)
union all
select * from (select * from dual order by 1);

这个前面两种是有差别的,这个是第一个sql先排好序,第二个sql是接着第一个后面排序