当前位置: 首页 > article >正文

MySQL 05 章——排序与分页

一、排序

(1)排序规则

  1. 使用ORDER BY子句排序
    1. ASC(ascend):升序(从上至逐渐升高)
    2. DESC(descend):降序(从上至下逐渐降低)​​​​​​​​​​​​​​
  2. ORDER BY子句在SELECT语句的结尾
  3. 当我们不指定顺序时,查询结果的顺序默认是我们添加数据的顺序
  4. 如果在ORDER BY后面没有显式指明排序方式的话,则默认按照升序排列
  5. 我们可以使用列的别名,进行排序
  6. 列的别名只能在ORDER BY中使用,不能在WHERE中使用。因为ORDER BY子句在SELECT后执行
  7. 当WHERE和ORDER BY同时出现时,一定要把WHERE写在ORDER BY前面(执行顺序是,先执行FROM和WHERE,再执行SELECT,最后执行ORDER BY)

(2)单列排序

  1. 单列排序就是只有一种排序规则
  2. 举例:

(3)多列排序

  1. 多列排序就是有多种排序规则
  2. 举例:

二、分页

(1)背景

  1. 背景1:查询返回的数据太多了,查看起来很不方便,怎么样能够实现分页查询呢?
  2. 背景2:表里有4条数据,我们只想要显示第2、3条数据怎么办呢?

(2)实现规则

  1. 举例:
  2. 如果我们想显示第二页的数据,那么就要修改偏移量。指针最开始是指向第一条数据的,第一条数据对应的偏移量为0。那么第21条数据对应的偏移量就是20
  3. 规律:如果我们想每页显示20条数据。那么第一页:LIMIT 0,20;第二页:LIMIT 20,20;第三页:LIMIT 40,20
  4. 公式:如果我们想显示第n页的数据(每页有m条数据),那么LIMIT (n-1)*m,m
  5. WHERE...ORDER BY...LIMIT...声明顺序如下(当偏移量为0时,0可以省略不写):
  6. 实现背景2的需求:
  7. MySQL8.0的新特性:LIMIT 数据条数 OFFSET 偏移量
  8. 练习:查询员工表中工资最高的员工信息

三、课后练习 

  1. 查询员工的姓名和部门号和年薪,按年薪降序、按姓名升序显示
  2. 选择工资不在8000到17000的员工的姓名和工资,按工资降序,显示第21到40位置的数据
  3. 查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序

该笔记根据尚硅谷的MySQL课程整理 


http://www.kler.cn/a/465939.html

相关文章:

  • Ae:合成设置 - 3D 渲染器
  • 【JAVA】用于控制流程的关键字 break、continue、return 使用场景,注意事项和实例
  • Go小技巧易错点100例(二十一)
  • 【Android项目学习】3. MVVMHabit
  • Mysql数据实时同步到Es上
  • PHP7和PHP8的最佳实践
  • Ubuntu忘记root密码解决方案
  • .net core强大的列表对比取数
  • Kafka的rebalance机制
  • wx016基于springboot+vue+uniapp的超市购物系统小程序
  • Windows电脑搭建Java版我的世界服务器并实现异地远程联机游戏
  • 【行空板K10】利用Nanomq的桥接转发能力实现接入任意的MQTT服务器
  • 探索新一代Web框架:模块化与微服务化的完美结合
  • 设计心得——流程图和数据流图绘制
  • 基于Java的银行排号系统的设计与实现【源码+文档+部署讲解】
  • Scratch教学作品 | 白水急流——急流勇进,挑战反应极限! ‍♂️
  • python 中的 json 库使用
  • C++编程库与框架实战——ZeroMQ消息队列
  • 在Linux下安装部署Tomcat教程
  • Python | 学习type()方法动态创建类
  • B2B营销的新篇章:开源AI智能名片S2B2C商城小程序的应用探索
  • CDP集成Hudi实战-编译部署
  • gozero框架crm系统中的查询条件动态筛选业务设计与实践
  • unity学习5:创建一个自己的3D项目
  • 04-c++类和对象(下)
  • FreshTomato 路由器固件常见配置以及踩坑记录