进阶3 排序查询
语法:
select
查询列表 3
from 表 1
where 筛选条件 2
order by 4
(asc/desc)
特点:
1、 asc 代表升序、desc 代表降序
如果不写,默认是升序
2、 order by
子句中可以支持单个字段,多个字段、表达式、函数、别名
3、 order by 子句一般放在查询语句的最后面,limit子句除外
eg 1、 查询员工信息,要求工资从高到底
select * from employees
order by salary desc;
2、查询员工编号大于等于90 的员工信息,按入职时间先后进行排序
添加筛选条件
select * from employees
where department_id >= 90
order by hiredata asc;
3、按年薪的高低显示员工的信息和年薪
按表达式
select *,salary*12*(1+ifnull(commission_pct,0)) as 年薪
from employees
order by salary*12*(1+ifnull(commission_pct,0)) desc;
4、按年薪的高低显示员工的信息和年薪
按别名,只适用于mysql
select *,salary*12*(1+ifnull(commission_pct,0)) as 年薪
from employees
order by 年薪 desc;
5、按姓名的长度显示员工的和姓名和工资
按函数
select length(last_name) as 字节长度,last_name,salary
from employees
order by length(last_name) desc;
6、查询员工信息,要求先按工资排序,再按员工编号排序
多个字段排序
select * from employees
order by salary asc,employee_id desc;
当salary一样时,再按employee_id排序