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

  • 相关阅读:
    客户端用mstsc不能用一台设备连接终端服务器的解决办法
    [转]知识管理ABC
    Visual Studio常用小技巧[备忘]
    一套外企的数据库设计面试题
    MSDN中的图形元素和文档约定[备忘]
    设计模式概述
    ASP.Net 4.0中新增加的23项功能[转]
    Dreamweaver 8 的相关使用
    浅谈ThreadPool 线程池
    C#委托的异步调用[学习]
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3797841.html
Copyright © 2020-2023  润新知