06-Oracle入门之order by排序

2017-01-08 08:20:20来源:CSDN作者:lzjsqn人点击

ORDER BY子句

  • 使用 ORDER BY 子句排序
    • ASC(ascend): 升序
    • DESC(descend): 降序
  • ORDER BY 子句在SELECT语句的结尾。
  • order by后面+列名、 表达式 、别名 、序号
  • 一般套路
SELECT   last_name, job_id, department_id, hire_dateFROM     employeesORDER BY hire_date ;
select ....from ...where ...order by ...

升序排列

默认就是升序!

 1  select *              2  from emp              3* order by sal asc            SQL> /                 EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO            ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------                  7369 SMITH      CLERK           7902 17-12月-80            800                    20                  7900 JAMES      CLERK           7698 03-12月-81            950                    30                  7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20                  7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30                  7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30                  7934 MILLER     CLERK           7782 23-1月 -82           1300                    10                  7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30                  7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30                  7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10                  7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30                  7566 JONES      MANAGER         7839 02-4月 -81           2975                    20                  7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20                  7902 FORD       ANALYST         7566 03-12月-81           3000                    20                  7839 KING       PRESIDENT            17-11月-81           5000                    10

降序排列

SELECT   last_name, job_id, department_id, hire_dateFROM     employeesORDER BY hire_date DESC ;

多个列排序

  • 可以使用不在SELECT 列表中的列排序
  • 按照ORDER BY 列表的顺序排序。
    先按照第一个排序,如果相同,使用第二项进行更精细的排序。

  • 如果多个列中 有desc修饰,只作用于最近的那一列

select * from emporder by deptno asc, sal asc 
select * from emporder by deptno asc, sal desc 

别名排序

SQL> edWrote file afiedt.buf  1  select ename,empno,sal*12 sal_sum  2  from emp  3* order by sal_sumSQL> /

关于别名的补充:汉子要加双引号,字符串貌似不能加!是否与当前Linux用户的bashrc有关有待验证!

排序的规则

  • 可以按照select语句中的列名排序
  • 可以按照列名的别名排序
  • 可以按照select语句中的列名的顺序值排序
  • 如果要按照多列进行排序,则规则是先按照第一列排序,如果相同,则按照第二列排序;以此类推

排序中的空值

排序的时,如何将null排在最后.

select *from emporder by comm descnulls last;

nulls last 不管如何排序,都把空放在下面!

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台