• 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.排序可以用别名和列位置

  • 相关阅读:
    ThetaSome_ThetaAll子查询
    BMP文件解析
    IN-子查询
    由顶点坐标计算任意多边形面积
    Java入门——多态
    使用Notepad++开发Java程序
    C#利用VUDP.cs开发网络通讯应用例程
    C#利用Vini.cs操作INI文件
    RC522射频卡读写模块驱动(仅读取)
    Tupper自我指涉公式生成器
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3797841.html
Copyright © 2020-2023  润新知