MySQL第四章(排序与分页)

一.排序

1.一级排序

如果没有使用排序操作, 在默认情况下查询返回的数据是按照添加数据的顺序显示的

使用 ORDER BY 对查询到的数据进行排序操作
升序: ASC
降序: DESC

#工资升序排序
SELECT last_name, salary
FROM employees
ORDER BY salary   #默认升序
#ORDER BY salary ASC  #升序
#ORDER BY salary DESC   # 降序

重要

#可以使用列的别名进行排序
SELECT last_name, salary * 12 AS annual_sal
FROM employees
ORDER BY annual_sal

#列的别名只能在 ORDER BY 中使用, 不能在WHERE中使用
#因为语句是先执行FROMWHERE 再执行SELECT
SELECT last_name, salary * 12 AS annual_sal
FROM employees
WHERE annual_sal > 31200   #出错

WHERE 需要声明在FROM后, ORDER BY之前

SELECT employee_id, salary
FROM employees
WHERE department_id IN (50,60,70)
ORDER BY department_id DESC 

2.二级排序

#先按照department_id 降序排列, 相同的按照salary的升序排序
SELECT department_id, salary
FROM employees
ORDER BY department_id DESC, salary ASC 

二.分页

1.背景

背景1 : 查询返回的数据太多,需要实现分页
背景2 : 表里有20条数据,我们只想查询第10-15条数据

LIMIT 始, 条目数

SELECT employee_id, last_name
FROM employees
#LIMIT 0,10;
#其实,0开始,0可以省略
LIMIT 10;


SELECT employee_id, last_name
FROM employees
LIMIT 10,10;


SELECT employee_id, last_name, salary
FROM employees e
WHERE salary > 6000
ORDER BY salary DESC 
LIMIT 10;
#查询显示第32,33条数据
 SELECT employee_id, last_name, salary
 FROM employees e 
 LIMIT 31,2;

#同题, MySQL8.0新特性 LIMIT...OFFSET
 SELECT employee_id, last_name, salary
 FROM employees e 
 LIMIT 2 offset 31;

2.分页的好处

1.减少数据表的网络传输量
2.提升查询效率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值