mysql基础-进阶三【排序查询】
基础语句-进阶3【排序查询】
-
语法
-
select 查询列表 from 表名 where 筛选条件 order by 排序列表 执行顺序 1. from子句 2. where子句 3. select子句 4. order by子句
-
-
特点
-
排序列表可以是单个字段、多个字段、表达式、函数、列表、以及以上的组合
-
# 升序,通过asc,默认行为 # 1, 将员工编号>120 的员工信息,并进行工资的升序排列 SELECT * FROM employees WHERE employee_id > 120 ORDER BY salary ASC;
-
# 降序,通过desc # 2, 将员工编号>120 的员工信息,并进行工资的降序排列 SELECT * FROM employees WHERE employee_id > 120 ORDER BY salary desc;
-
-
按表达式排序
-
#1, 对有奖金的员工,按年薪降序排列 SELECT *, (salary*12*(1+commission_pct)) AS 年薪 FROM employees WHERE commission_pct IS NOT NULL ORDER BY (salary*12*(1+commission_pct)) DESC; #2, 上面案例优化 SELECT *, (salary*12*(1+IFNULL(commission_pct,0))) AS annual_salary FROM employees WHERE commission_pct IS NOT NULL ORDER BY annual_salary DESC;
-
-
按函数的结果排序
-
#1, 按姓名的字数长度进行升序 #案例3:按姓名的字数长度升序排列 SELECT LENGTH(last_name) AS len,last_name FROM employees ORDER BY len ASC;
-
-