SQL 学习笔记:分页查询(分页)
一、分页 语法
-- MySQL
SELECT * FROM t ORDER BY id LIMIT 偏移, 条数;
-- Oracle (12c+)
... OFFSET n ROWS FETCH NEXT m ROWS ONLY;
-- Oracle 旧版: ROWNUM 嵌套二、参数说明
| 项目 | 说明 |
|---|---|
LIMIT | MySQL 分页:LIMIT 偏移, 数量(偏移从0起) |
OFFSET...FETCH | Oracle 12c+ / MySQL 也支持的标准分页 |
ROWNUM | Oracle 伪列,需先查一层再 WHERE ROWNUM<=n |
排序先行 | 分页前务必 ORDER BY,否则顺序不稳定 |
三、注意事项
- MySQL LIMIT 0,10 取前10;LIMIT 10,10 取第11~20
- Oracle 旧版分页需两层嵌套:WHERE ROWNUM<=m 外层再 rn> 偏移
- 大偏移量(如 LIMIT 100000,10)很慢,深翻页建议用游标/键集分页
四、经典案例
案例1:MySQL 分页
案例2:Oracle 12c+ 分页
案例3:Oracle 旧版 ROWNUM
五、小结
分页查询是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。
评论(0)
请登录后发表评论。