MySQL学习笔记3:排序与分页

1. 排序

  • 若不使用排序,默认按照添加数据的顺序显示。
  • ORDER BY 对查询到的数据进行排序
  • 升序:ASC
  • 降序:DESC
# 按照salary从高到低的顺序显示员工信息
SELECT 
	employee_id,last_name,salary
FROM 
	employees
ORDER BY 
	salary DESC;
  • 若ORDER BY后不指明排序方式,则默认升序
  • 可以用列的别名进行排序。

列的别名只能在ORDER BY中使用,不能在WHERE中使用。
注意WHERE需要声明在FROM后,ORDER BY之前。

  • 二级排序:依据多个字段进行排序
#显示员工信息,按照department_id的降序排列,salary的升序排列
SELECT
	employee_id,salary,department_id
FROM
	employees
ORDER BY 
	department_id DESC,salary ASC;

2. 分页

  • 格式:
LIMIT 位置偏移量, 行数

LIMIT 可以使用在MySQL、PGSQL、MariaDB、SQLite 等数据库中使用,表示分页。但不能使用在SQL Server、DB2、Oracle

  • “位置偏移量”可省略,此时将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推)
  • “行数”指示返回的记录条数。
  • MySQL 8.0中还可以使用LIMIT OFFSET:
#表里有107条数据,只想要显示第 32、33 条数据

SELECT employee_id,last_name
FROM employees
LIMIT 31,2;

#或使用LIMIT OFFSET

SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;

补充:约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1 条,就可以使用LIMIT 1 ,告诉 SELECT 语句只需要返回一条记录即可。这样的好处是SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值