SQL查询顺序正确

时间:2018-06-24 16:41:17

标签: sql oracle sql-order-by

我需要从emp表中查询数据以获得以下结果:

Dept No       Emp no      Emp Name        Mgr Name
---------------------------------------------------
10              7782      CLARK           KING
10              7934      MILLER          CLARK
20              7902      FORD            JONES
20              7369      SMITH           FORD
20              7876      ADAMS           SCOTT
20              7566      JONES           KING
20              7788      SCOTT           JONES

我的查询如下:

SELECT DISTINCT e.deptno AS "Dept No", e.empno AS "Emp No", e.ename AS "Emp Name", m.ename AS "Mgr Name"
FROM emp e, emp m
WHERE e.deptno IN (10,20) AND e.mgr = m.empno
ORDER BY "Dept No";

不幸的是,我的“ Emp Name”和“ Mgr Name”列未按与示例匹配的顺序显示:

Dept No       Emp No      Emp Name        Mgr Name
---------------------------------------------------
10              7782      CLARK           KING
10              7934      MILLER          CLARK
20              7369      SMITH           FORD
20              7566      JONES           KING
20              7788      SCOTT           JONES
20              7876      ADAMS           SCOTT
20              7902      FORD            JONES

如何排序最后两列,以便它们按我需要的顺序显示?

1 个答案:

答案 0 :(得分:0)

要按多列排序,您只需按重要性顺序添加逗号和要作为排序依据的下一个字段的名称。

例如:

ORDER BY "Dept No", "Emp Name", "Mgr Name"

我不确定您想要的列顺序是什么,但这是广义的答案。