【MySQL】排序与分页

# 第五章 排序与分页
# 1、排序
# 若没有使用排序操作,默认情况下查询返回的数据是根据添加数据的顺序显示
use atguigudb;
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;  

#1.2、我们可以使用列的别名,进行排序
select employee_id, salary *12 annual_sal
from employees
order by annual_sal;

#注意:列的别名只能在order by中使用,不能在where中使用
#如下操作会报错
select employee_id, salary *12 annual_sal
from employees
where annual_sal> 81600;

#1.3、强调格式: where 需要声明在from后面, order by之前
select employee_id, salary
from employees
where department_id in (50,60,70)
order by department_id desc;

#1.4、二级排序
#练习:显示员工信息,按照department_id的降序排序, salary的升序排序
select employee_id, salary, department_id
from employees
order by department_id desc, salary asc;

#2、分页
#2.1 使用limit实现数据的分页显示
#需求1:每页显示20条,此时显示第一页
select employee_id, last_name
from employees
limit 0, 20;
#需求2:每页显示20条,此时显示第二页
select employee_id, last_name
from employees
limit 20, 20;
#需求3:每页显示20条,此时显示第三页
select employee_id, last_name
from employees
limit 40, 20;
#需求4:每页显示pageSize条,此时显示第pageNo页
#公式:LIMIT pageSize * (pageNo-1);

#2.2 where…… OREDER 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;

#练习:表里有 107 条数据,我们只想要显示第 32 、 33 条数据怎么办呢?
select employee_id, last_name, salary
from employees
limit 31,2;

#2.3 mysql 8.0 新特性: limit…… offest……
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 0,1;

#2.4 limit可以使用在MySQL、PGSQL、MarialDB、SQLite等数据库中,表示分页
#不能使用在SQL Sever,DB2, oracle! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值