排序与分页
排序:
#排序
#如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的
#例:按照salary从高到低的顺序显示
#使用 ORDER BY 对查询到的数据进行排序操作
#升序:ASC (ascend)
#降序:DESC(descend)
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC; #如果在ORDER BY 后没有显示指明的排序的方式的话,则默认按照升序排列
#我们可以使用列的别名进行排序
#列的别名只能在order by 中使用,不能再where中使用
#强调格式:WHERE 需要声明在FROM后,ORDER BY之前
#代码不是顺序结构运行下来,是先运行from哪个表,在运行WHERE 过滤,然后运行SELECT,最后运行 ORDER BY
#二级排序
#例:显示员工信息,按照department_id的降序排列,salary的升序排列
SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;
可以使用不在SELECT列表中的列排序。
在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第
分页:
格式:
LIMIT [位置偏移量,] 行数
分页原理:所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。
#分页
#mysql 使用limit实现数据的分页显示
#需求1:每页显示20条记录,此时显示第1页
SELECT employee_id,last_name
FROM employees
LIMIT 0,20;
#需求2:每页显示20条记录,此时显示第2页
SELECT employee_id,last_name
FROM employees
LIMIT 20,20;
#需求3:每页显示20条记录,此时显示第3页
SELECT employee_id,last_name
FROM employees
LIMIT 40,20;
#需求:每页显示pageSize条记录,此时显示第pageNo页
#公式:LIMIT (pageNo-1)*pageSize,pageSize;
#LIMIT格式:严格说:LIMIT 位置偏移量,条目数
#WHERE ... ORDER BY ... LIMIT 声明的顺序:
SELECT employee_id,last_name,salary
FROM employees
WHERE salary>6000
ORDER BY salary DESC
#LIMIT 0,10;
LIMIT 10;
#例:表里有 4 条数据,只想要显示第 32、33 条数据
SELECT employee_id,last_name
FROM employees
LIMIT 31,2;
#mysql 8.0 新特性:LIMIT ... OFFSET ...
#例:表里有 4 条数据,只想要显示第 32、33 条数据
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;
#练习:查询员工表中工资最高的员工信息
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 0,1;
#LIMIT 不能使用在Oracle数据库中 oracle用的是rownum
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!