1.排序
排序关键字:ORDER BY
若有一张名为employees的表
EMPLOYEES表 |
---|
employee_id |
first_name |
last_name |
phone_number |
job_id |
salary |
commission_pot |
manager_id |
需求:
要显示员工号 (employee_id)、名(first_name)、姓(last_name)、月薪(salary) 并按月薪高到低排列
升序(从低到高)关键字:ASC
降序(从高到低)关键字:DESC
SELECT employee_id,first_name,last_name,salary
FROM `employees`
ORDER BY salary DESC
如果没有显式声明升序或降序,默认是升序(ASC)
现在将需求改为:
要显示员工号 (employee_id)、名(first_name)、姓(last_name)、月薪(salary)和年薪 并先按 employee_id 排,再按年薪排
思路:年薪=月薪*12
排序规则有两个,所以要用到二级排序
二级排序含义:ORDER BY 条件1,条件2
SELECT employee_id,first_name,last_name,salary,salary*12 "年薪"
FROM `employees`
ORDER BY employee_id ASC, 年薪 DESC
2.分页
分页关键字:LIMIT
使用规则:LIMIT 索引,每页的条数
若要分页查询数据,一页数据有20条,从第一条数据开始看
SELECT employee_id,first_name,last_name
FROM employees
LIMIT 0,20
-- 0表示索引,即从第一条数据开始。20表示该页有20条数据
若要查询第二页的数据
SELECT employee_id,first_name,last_name
FROM employees
LIMIT 20,20
/*
第一个20表示:索引为20的数据,即第21条数据
第二个20表示:该页有20条数据
*/
可得规律:
设每页显式pageSize条记录,此时显示第pageNum页
则 LIMIT关键字后的参数为
(pageNum-1)*pageSize , pageSize
注意:LIMIT关键字必须放在ORDER BY后面,否则会报错