目录
order by
语法
select
查询列表
from
表
where
筛选条件
order by
排序列表【asc|desc】#默认是asc
特点
- asc表示升序,desc表示降序,不写默认asc
- order by 子句可以支持单字段、多个字段、表达式、函数、别名
- order by 子句一般放在查询语句的最后面,但是limit 子句除外
执行顺序
from-->where-->select-->order by
1、从高到低排序
#案例1:查询员工工资,要求从高到低排序
SELECT *
FROM employees
ORDER BY salary;
2、添加筛选条件
#案例2:查询部门编号大于等于90的员工信息,按照入职时间先后进行排序。
SELECT *
FROM employees
WHERE department_id >= 90
ORDER BY hiredate ASC;
3、按表达式排序并且支持别名
#案例3:按年薪的高低显示员工的信息和年薪
SELECT *, salary*12*(1+IFNULL(commission_pct, 0)) 年薪
FROM employees
# order by salary*12*(1+IFNULL(commission_pct, 0)) desc;
ORDER BY 年薪 DESC;
4、按函数排名
#案例4:按姓名的长度显示员工的姓名和工资
SELECT LENGTH(last_name) 字节长度,
last_name,
salary
FROM employees
ORDER BY LENGTH(last_name) DESC;
5、按多个字段排序
#案例5:查询员工信息,要求先按好工资排序(升),再按照员工编号排序
SELECT *
FROM employees
ORDER BY salary ASC, employee_id DESC;