本篇文章主要是对MySQL学习时的一些总结,作为学习笔记记录。
数据来源
数据部分来自于b站尚硅谷MySQL课程
排序查询
语法
SELECT querylist FROM tablename WHERE conditions ORDER BY sortcondition;
- order by:后边支持单个字段、别名、表达式、函数或者多个字段
- order by:放在查询语句的最后面,除了limit字句
- asc代表升序,默认可以省略,desc代表降序
主要操作
1. 按单个字段排序
SELECT * FROM employees ORDER BY salary DESC;
2. 添加筛选条件再排序
#案例:查询部门编号>=90的员工信息,并按员工编号降序
SELECT
*
FROM
employees
WHERE department_id >= 90
ORDER BY employee_id DESC ;
3. 按表达式排序
#案例:查询员工信息 按年薪降序
SELECT
*,
salary * 12 * (1 + IFNULL(commission_pct, 0))
FROM
employees
ORDER BY salary * 12 * (1 + IFNULL(commission_pct, 0)) DESC ;
4. 按别名排序
#案例:查询员工信息 按年薪升序
SELECT
*,
salary * 12 * (1 + IFNULL(commission_pct, 0)) AS year_salary
FROM
employees
ORDER BY year_salary ASC ;
5. 按函数排序
#案例:查询员工名,并且按名字的长度降序
SELECT
LENGTH(last_name),
last_name
FROM
employees
ORDER BY LENGTH(last_name) DESC ;
6. 按多个字段排序
#案例:查询员工信息,要求先按工资降序,再按employee_id升序
SELECT
*
FROM
employees
ORDER BY salary DESC,
employee_id ASC ;