1.排序数据order by
1.1 排序规则
没有使用排序操作,查询返回的数据是按照添加数据顺序显示
①:使用order by 子句排序,order by 子句在select语句的结尾
asc(ascend):升序
desc(descend):降序
②:按照salary从高到低的顺序显示员工信息
select first_name,salary
from employees
order by salary desc
③:查询根据年薪进行降序的结果集。可以使用列的别名,进行排序。
select first_name,salary * 12 annual_sal
from employees
order by annual_sal desc
③:查询部门号是50,60,70的员工按照工资从大到小排序
select first_name,salary ,department_id
from employees
where department_id in (50,60,70)
order by salary desc
④:显示员工信息,按照department_id降序排列,salary的升序排列
select first_name,salary ,department_id
from employees
order by department_id desc,salary asc
2 分页操作 limit 偏移量,显示的条数
①:格式
select…
from 表名
limit 偏移量,显示的条数
②:每页显示20条记录,查询第1页的数据
select employee_id,last_name
from employees
limit 0,20
③:每页显示20条记录,查询第2页的数据
select employee_id,last_name
from employees
limit 20,20
④:每页显示pageSize条记录,此时的第pageNo页
公式:limit (pageNo-1)* pageSize, pageSize
⑤:声明顺序
where…
order by…
limit…
⑥:查询工资大于6000的员工信息,并按照工资降序排列。显示前10条记录
select employee_id,last_name,salary
from employees
where salary > 6000
order by salary desc
limit 0,10
⑦:表里有107条数据,显示第32,33条数据
select employee_id,last_name,salary
from employees
limit 31,2
【练习】
#1
select first_name,salary * 12 annual_sal,department_id
from employees
order by annual_sal desc,first_name asc
#2
select first_name,salary
from employees
where not salary between 8000 and 17000
order by salary desc
limit 20,20
# 3
select first_name,email,department_id
from employees
where email like '%e%'
order by LENGTH(email) desc,department_id asc