文章目录
- 1.排序
- 1.1 基本使用
- 1.2 我们可以使用列的别名,进行排序
- 1.3 强调格式:WHERE 需要声明在FROM后,ORDER BY之前。
- 1.4 二级排序
- 2. 分页
- 2.1 mysql使用limit实现数据的分页显示
- 2.2 WHERE ... ORDER BY ...LIMIT 声明顺序如下:
- 2.3 MySQL8.0新特性:LIMIT ... OFFSET ...
1.排序
1.1 基本使用
- 使用 ORDER BY 对查询到的数据进行排序操作。
- 升序:ASC (ascend)
- 降序:DESC (descend)
# 练习:按照salary从高到低的顺序显示员工信息SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalaryDESC;
# 练习:按照salary从低到高的顺序显示员工信息SELECTemployee_id,last_name,salaryFROMemployeesORDERBYsalaryASC;
1.2 我们可以使用列的别名,进行排序
SELECTemployee_id,salary,salary*12annual_salFROMemployeesORDERBYannual_sal;
1. 列的别名只能在 ORDER BY 中使用,不能在WHERE中使用。
1.3 强调格式:WHERE 需要声明在FROM后,ORDER BY之前。
SELECTemployee_id,salaryFROMemployeesWHEREdepartment_idIN(50,60,70)ORDERBYdepartment_idDESC;
1.4 二级排序
#练习:显示员工信息,按照department_id的降序排列,salary的升序排列SELECTemployee_id,salary,department_idFROMemployeesORDERBYdepartment_idDESC,salaryASC;
2. 分页
2.1 mysql使用limit实现数据的分页显示
# 需求1:每页显示20条记录,此时显示第1页SELECTemployee_id,last_nameFROMemployeesLIMIT0,20;# 需求2:每页显示20条记录,此时显示第2页SELECTemployee_id,last_nameFROMemployeesLIMIT20,20;# 需求3:每页显示20条记录,此时显示第3页SELECTemployee_id,last_nameFROMemployeesLIMIT40,20;
2.2 WHERE … ORDER BY …LIMIT 声明顺序如下:
# LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数# 结构"LIMIT 0,条目数" 等价于 "LIMIT 条目数"SELECTemployee_id,last_name,salaryFROMemployeesWHEREsalary>6000ORDERBYsalaryDESC#limit 0,10;LIMIT10;
2.3 MySQL8.0新特性:LIMIT … OFFSET …
#练习:表里有107条数据,我们只想要显示第 32、33 条数据怎么办呢?SELECTemployee_id,last_nameFROMemployeesLIMIT2OFFSET31;