语法
sql"> select 查询列表
from 表
【where 筛选条件】
order by 排序查询 【asc | desc】
特点
- asc代表的是升序,desc代表的是降序,如果不写,默认是升序
- order by子句中可以支持单个字段、多个字段、表达式、函数、别名
- order by子句一般是放在查询语句的最后面,limit子句除外
案例
- 查询员工信息,要求工资从高到低排序
sql">SELECT * FROM `employees` ORDER BY `salary` DESC;
- 查询部门编号>=90的员工信息,按入职时间的先后顺序排序
sql">SELECT *
FROM `employees`
WHERE `employee_id` >= 90
ORDER BY `hiredate` ASC;
- 按年薪的高低显示员工的信息和年薪【按表达式排序】
sql">SELECT *, `salary`*12*(1+IFNULL(`commission_pct`, 0)) 年薪
FROM `employees`
ORDER BY `salary`*12*(1+IFNULL(`commission_pct`, 0)) ASC;
- 按年薪的高低显示员工的信息和年薪【按别名排序】
sql">SELECT *, `salary`*12*(1+IFNULL(`commission_pct`, 0)) 年薪
FROM `employees`
ORDER BY 年薪 ASC;
- 按名字的长度显示员工的姓名和工资【按函数排序】
sql">SELECT CONCAT(`first_name`,`last_name`) 姓名 ,`salary`
FROM `employees`
ORDER BY LENGTH(CONCAT(`first_name`,`last_name`)) ASC;
- 查询员工信息,要求先按工资排序,再按员工编号排序【按多个字段排序】
sql">SELECT *
FROM `employees`
ORDER BY `salary` ASC, `employee_id` DESC;