union all合并记录

SQL> SELECT empno AS 编码, ename AS 名称, nvl(mgr, deptno) AS 上级编码 FROM emp
  2  order by empno
  3  UNION ALL
  4  SELECT deptno AS 编码, dname AS 名称, NULL AS 上级编码 FROM dept
  5  order by deptno;
UNION ALL
*
第 3 行出现错误:
ORA-00933: SQL 命令未正确结束


SQL> SELECT empno AS 编码, ename AS 名称, nvl(mgr, deptno) AS 上级编码 FROM emp
  2  /*order by empno*/
  3  UNION ALL
  4  SELECT deptno AS 编码, dname AS 名称, NULL AS 上级编码 FROM dept
  5  order by 1;

      编码 名称             上级编码
---------- -------------- ----------
        10 ACCOUNTING
        20 RESEARCH
        30 SALES
        40 OPERATIONS
      7369 SMITH                7902
      7499 ALLEN                7698
      7521 WARD                 7698
      7566 JONES                7839
      7654 MARTIN               7698
      7698 BLAKE                7839
      7782 CLARK                7839

      编码 名称             上级编码
---------- -------------- ----------
      7788 SCOTT                7566
      7839 KING                   10
      7844 TURNER               7698
      7876 ADAMS                7788
      7900 JAMES                7698
      7902 FORD                 7566
      7934 MILLER               7782

已选择18行。

SQL> SELECT empno AS 编码, ename AS 名称, nvl(mgr, deptno) AS 上级编码 FROM emp
  2  /*order by empno*/
  3  UNION ALL
  4  SELECT deptno AS 编码, dname AS 名称, NULL AS 上级编码 FROM dept
  5  order by 编码;

      编码 名称             上级编码
---------- -------------- ----------
        10 ACCOUNTING
        20 RESEARCH
        30 SALES
        40 OPERATIONS
      7369 SMITH                7902
      7499 ALLEN                7698
      7521 WARD                 7698
      7566 JONES                7839
      7654 MARTIN               7698
      7698 BLAKE                7839
      7782 CLARK                7839

      编码 名称             上级编码
---------- -------------- ----------
      7788 SCOTT                7566
      7839 KING                   10
      7844 TURNER               7698
      7876 ADAMS                7788
      7900 JAMES                7698
      7902 FORD                 7566
      7934 MILLER               7782

已选择18行。


1.order by 只能放在最后
2.排序可以用别名和列位置

转载于:https://www.cnblogs.com/zhaoyangjian724/p/3797841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值