DQL语言学习进阶三(排序查询)
一、语法
select 查询列表 from 表 【where 筛选条件】 orderby 排序列表 【asc/desc】;
(执行顺序:from—>where—>select—>order by)
1、asc:代表升序;desc:代表降序。如果不写,默认升序
2、order by子句中可以支持单个字段、多个字段、表达式、函数、别名
3、order by子句一般是放在查询语句的最后面,limit子句除外
二、示例
例1:查询员工信息,要求工资从高到低排序
select*from employee orderby salary desc;
例2:查询员工信息,要求工资从低到高排序
select*from employee orderby salary asc; 或 select*from employee orderby salary;
例3:查询部门编号大于等于90的员工信息,按入职时间的先后进行排序
select*from employee where department_id >=90orderby hiredate asc;
例4:按年薪的高低显示员工的信息(按表达式排序)
select*,salary *12*(1+ifnull(commission_pct,)) 年薪 from employee orderby salary *12*(1+ifnull(commission_pct,))desc;
例5:按年薪的高低显示员工的信息(按别名排序)
select*,salary *12*(1+ifnull(commission_pct,)) 年薪 from employee orderby 年薪 desc;
例6:按姓名的长度显示员工的姓名和工资(按函数排序)
select length(last_name) 字节长度,last_name, salary from employee orderby ength(last_name)desc;
例7:查询员工信息,要求按工资排序,再按员工编号(按多个字段排序)
select*from employee orderby salary asc, employee_id desc;