数据操作语言:结果集排序
- 如果没有设置,查询语句不会对结果集进行排序。也就是说,如果想让结果集按照某种顺序排列,就必须使用
ORDER BY
子句。
SELECT ...... FROM ...... ORDER BY 列名 [ASC | DESC];
SELECT ename,sal FROM t_emp ORDER BY sal;
SELECT empno,ename,sal,deptno FROM t_emp ORDER BY sal DESC;
排序关键字
ASC
代表升序(默认),DESC
代表降序- 如果排序列是数字类型,数据库就按照数字大小排序,如果是日期类型就按日期大小排序,如果是字符串就按照字符集序号排序。
SELECT ename,sal FROM t_emp ORDER BY hiredate DESC;
SELECT empno,ename,hiredate,deptno FROM t_emp ORDER BY ename ASC;
SELECT empno,ename,hiredate,deptno FROM t_emp ORDER BY hiredate DESC;
排序字段内容相同的情况
默认情况下,如果两条数据排序字段内容相同,那么排序会是什么样子?
我们可以使用
ORDER BY
规定首要排序条件和次要排序条件。数据库会先按照首要排序条件排序,如果遇到首要排序内容相同的记录,那么就会启用次要排序条件接着排序。
SELECT empno,ename,sal,hiredate FROM t_emp ORDER BY sal DESC,hiredate ASC;
SELECT
empno,ename,deptno,sal
FROM t_emp
ORDER BY deptno,sal DESC;
SELECT
empno,ename,sal
FROM t_emp ORDER BY sal DESC LIMIT 0,5;
排序 + 分页
ORDER BY
子句书写的时候放在LIMIT
子句的前面FROM
->SELECT
->ORDER BY
->LIMIT