排序
1.语法
-
关键字:
order by
-
语法结构
select 字段列表 from 表名 where 筛选条件 order by 排序的字段或表达式;
2.特点
asc
代表的是升序(默认状态下也是升序排序,可以省略)。desc
代表的是降序。order by
字段支持单个字段、别名、表达式、多个字段……order by
子句在查询语句的最后面,但是在limit
子句之前。
3.使用实例
-
按单个字段排序
# 查询 employees 表所有信息,按工资降序排序 select * from employees order by salary desc;
-
添加筛选条件再排序
# 查询 employees 表中,部门编号大于等于 90 的员工信息,并按员工编号降序 select * from employees where department_id >= 90 order by salary desc;
-
按别名排序
# 查询 employees 表中,所有员工信息,按年薪(不算提成)升序排序 select salary * 12 as annual_salary from employees order by annual_salary asc;
-
按函数排序
# 查询 employees 表中,员工名字 first_name 和名字长度,并且按长度降序排序 select first_name, length(first_name) as len from employees order by len desc;
-
按多个字段排序
# 查询 employees 表中,所有员工信息,先按工资降序,再按 employee_id 升序排序 select * from employees order by salary desc, employee_id asc; # 查询 employees表中,邮箱中包含 e 的员工信息,并先按邮箱长度降序,再按部门号升序排序 select *, length(email) as len from employees where email like '%e%' order by len desc, department_id asc;
分页
1.语法
-
应用场景:当要显示的数据太多,一页显示不下,需要分页提交请求。
-
关键字:
limit offset, size;
offset
:要显示条目的起始索引。- size:要显示的条目个数。
-
语法结构
select 字段列表 from 表名 where 筛选条件 order by 排序的字段或表达式 limit offset, size;
2.特点
limit
语句放在查询语句的最后。- 公式:
offset = (page-1)\size
3.实例
-
查询 employees 表的前五条员工信息
select * from employees limit 0, 5;
-
查询 employees 表的第 11 条 ~ 第 25 条
select * from employees limit 10, 15;
每次浅浅的拥抱,音乐在黑暗中舞起。 ——新裤子《夏日终曲》