06-Oracle入门之order by排序

前端之家收集整理的这篇文章主要介绍了06-Oracle入门之order by排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ORDER BY子句

  • 使用 ORDER BY 子句排序
    • ASC(ascend): 升序
    • DESC(descend): 降序
  • ORDER BY 子句在SELECT语句的结尾。
  • order by后面+列名、 表达式 、别名 、序号
  • 一般套路
SELECT last_name,job_id,department_id,hire_date FROM employees ORDER 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,hire_date FROM employees ORDER BY hire_date DESC ;

多个列排序

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

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

select * from emp order by deptno asc,sal asc 
select * from emp order by deptno asc,sal desc 

别名排序

sql> ed
Wrote file afiedt.buf

  1  select ename,empno,sal*12 sal_sum
  2  from emp
  3* order by sal_sum
sql> /

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

排序的规则

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

排序中的空值

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

select * from emp order by comm desc nulls last;

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

原文链接:https://www.f2er.com/oracle/210955.html

猜你在找的Oracle相关文章