语法:
Select 查询列表 From 表
【where 筛选条件】
Order by 排序列表 【asc/desc】(升序/降序)
特点:
- ASC升序,DESC降序,不写默认升序
- order by子句可以支持单个字段、多个字段、表达式、函数、别名
- order by子句一般放在查询语句的最后面,但limit子句除外
eg1. 查询员工信息,要求工资从高到低排序
SELECT * FROM employees
ORDER BY salary ASC;
eg2. 查询部门编号大于等于90的员工信息,按入职时间的先后进行排序
SELECT * FROM employees
WHERE department_id >=90
ORDER BY hiredate ASC;
eg3.按照年薪的高低显示员工的信息和年薪【按表达式排序】
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
或 按照别名排序
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees
ORDER BY 年薪 DESC;
eg4.按照姓名的长度显示员工的信息和年薪【按照函数排序】
长度函数 length()
SELECT first_name,last_name,salary
FROM employees
ORDER BY LENGTH(last_name) DESC;
eg5.查询员工信息,要求先按工资排序,再按员工编号排序【按多个字段排序】
select *
from employees
order by salary ASC,employee_id ASC;