数据排序
当数据返回查询结果之后,所有的数据默认情况下是按照雇员编号排序的,当然,现在也可以使用”ORDER BY”子句指定所需要的排序的操作列,而这个时候的SQL语法如下:
SELECT [DISTINCT] * |
字段 [别名] [,字段 [别名]]
FROM
表名称 [别名]
[WHERE
条件(S)]
[ORDER BY
字段 [ASC|DESC] [,字段 [ASC|DESC],…]];
“ORDER BY”子句是写在所有的SQL语句最后的内容,而且对于排序有以下几点说明:
排序的时候可以指定多个排序的字段;
排序的方式有两种:
升序(ASC):默认,不写也是升序;
降序(DESC):用户需要指定,由大到小排序;
范例:查询所有的雇员的信息,要求按照工资排序
SELECT * FROM emp ORDER BY sal;
SELECT * FROM emp ORDER BY sal ASC;
范例:进行降序排列
SELECT * FROM emp ORDER BY sal DESC;
范例:要求查询出所有的雇员信息,按照工资由高到低排序,如果工资相同,则按照雇佣日期由早到晚排序
此时肯定需要两个字段排序:工资(DESC),雇佣日期(ASC);
SELECT * FROM emp ORDER BY sal DESC, hiredate ASC;
SQL> SELECT * FROM emp ORDER BY sal DESC, hiredate ASC;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7839 KING PRESIDENT 17-11
月-81 5000 10
7902 FORD ANALYST 7566 03-12
月-81 3000 20
7566 JONES MANAGER 7839 02-4
月 -81 2975 20
7698 BLAKE MANAGER 7839 01-5
月 -81 2850 30
7782 CLARK MANAGER 7839 09-6
月 -81 2450 10
7499 ALLEN SALESMAN 7698 20-2
月 -81 1600 300 30
7844 TURNER SALESMAN 7698 08-9
月 -81 1500 0 30
7934 MILLER CLERK 7782 23-1
月 -82 1300 10
7521 WARD SALESMAN 7698 22-2
月 -81 1250 500 30
7654 MARTIN SALESMAN 7698 28-9
月 -81 1250 1400 30
7876 ADAMS CLERK 7788 23-5
月 -87 1100 20
7900 JAMES CLERK 7698 03-12
月-81 950 30
7369 SMITH CLERK 7902 17-12
月-80 800 20
7788 SCOTT CLERK 7566 19-4
月 -87 800 20
已选择14行。
转载于:https://blog.51cto.com/19880614/1086971