排序查询

 1 #进阶3:排序查询
 2 /*
 3 引入
 4
 5     use employees;
 6     select * from employees;
 7 语法:
 8     select 查询列表
 9     from 表
10     【where 筛选条件】
11     order by 排序列表 【asc|desc】
12 特点:
13     1、asc代表的是升序,desc代表的是降序
14     如果不写,默认是升序
15     2、order by子句可以支持单个字段、多个字段、表达式、函数、别名
16     3、order by子句一般是放在查询语句的最后面,limit子句除外
17 */
18 #案例1:查询员工工信息,要求工资从高到底排序
19 SELECT * FROM employees ORDER BY salary DESC;
20 SELECT * FROM employees ORDER BY salary ASC;#asc可以省略
21
22 #案例2:查询部门编号大于等于90的员工信息,按入职时间先后排序【添加筛选条件】
23 SELECT *
24 FROM employees
25 WHERE department_id>=90
26 ORDER BY hiredate ASC;
27
28 #案例3:按年薪高低显示员工的信息和年薪【按表达式排序】
29 SELECT *,salary*12*(1+IFNULL(commission_pet,0)) 年薪
30 FROM employees
31 ORDER BY salary*12*(1+IFNULL(commission_pet,0)) DESC;
32
33 #案例4:按年薪高低显示员工的信息和年薪【按别名排序】
34 SELECT *,salary*12*(1+IFNULL(commission_pet,0)) 年薪
35 FROM employees
36 ORDER BY 年薪 DESC;
37
38 #案例5:按姓名的长度显示员工的姓名和工资【按函数排序】
39 SELECT LENGTH(last_name) 字节长度,last_name,salary
40 FROM employees
41 ORDER LENGTH(last_name) DESC;
42
43 #案例6;查询员工信息,要求先按工资排序,再按员工信息排序【按过个字段排序】
44 SELECT *
45 FROM employees
46 ORDER BY salary ASC,employee_id DESC;

小结

02-12 12:17