# 1.排序
#如果没有使用排序操作,默认情况就是按照添加数据的顺序显示的。
SELECT * FROM employees;
#练习:按照salary从高到低排序
#使用 ORDER BY 对查询的数据进行排序操作。
#升序:ASC(ascend)
#降序:DESC(descend)
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC;
#练习:按照salary从高到低排序
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary ASC;
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary ;#如果在ORDER BY 后面没有明确指明排序的方法的话,默认是按照升序进行排列。
#我们可以使用列的别名进行排序
SELECT employee_id,salary,salary * 12 annual_salary
FROM employees
ORDER BY annual_salary;
#列的别名只能在OEDER BY中使用,不能在WHERE中使用!
SELECT employee_id,salary,salary * 12 annual_salary
FROM employees
WHERE annual_salary > 81600;
#WHERE需要声明在FROM之后,ORDER BY之前!
SELECT employee_id,salary
FROM employees
WHERE department_id IN (50,60,70)
ORDER BY department_id DESC;
# 二级排序:
#显示员工信息,按照department_id降序 salary,department_id升序排列
SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;
#2.分页
#2.1mysql使用 limit 实现数据的分页
#:需求:每页显示20条记录,此时显示第1页
SELECT employee_id,salary,department_id
FROM employees
LIMIT 0,20;
#:需求:每页显示20条记录,此时显示第2页
SELECT employee_id,salary,department_id
FROM employees
LIMIT 20,20;
#:需求:每页显示20条记录,此时显示第3页
SELECT employee_id,salary,department_id
FROM employees
LIMIT 40,20;
#:需求:每页显示pageSize条记录,此时显示第PageNo页
#:公式:LIMIT (pageNo - 1)*pageSize,pageNo;
#2.2where order by limit声明顺序如下
#LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数
#LIMIT 0 ,条目数 等价于 LIMIT 条目数
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
#limit 0,10;
LIMIT 10;
#MySQL8.0新特性:
#表中有107条数据,我们只想要显示第32、33条:
SELECT employee_id,last_name,salary
FROM employees
LIMIT 2 OFFSET 31;
#查询表中员工工资最高的员工信息:
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 1;