排序查询
语法:
SELECT
查询列表
FROM
表
WHERE
筛选条件
ORDER BY
排序列表 ASC/DESC;
特点:
1.asc 升序,desc 降序 不写默认为升序
2.order by 子句中支持单个字段、多个字段、表达式、函数、别名
3.order by 子句一般在查询语句的最后面,limit子句除外
#例子:查询员工信息,要求工资从高到低排序
SELECT
*
FROM
employees
ORDER BY
salary DESC;
#例子:查询部门编号大于等于90的员工信息,按入职时间的先后进行排序
SELECT
*
FROM
employees
WHERE
department_id >= 90
ORDER BY
hiredate ASC;
#例子: 按表达式排序:按年薪的高低显示员工的信息和年薪
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;
#例子:按姓名的长度显示员工的姓名和工资(按函数排序)
SELECT
LENGTH(last_name) As 字节长度,last_name,salary
FROM
employees
ORDER BY
字节长度 DESC;
#例子: 查询员工信息,要求先按工资排序,再按员工编号排序(按多个字段排序)
SELECT
*
FROM
employees
ORDER BY
salary ASC,
employee_id DESC;