SQL 学习笔记:分页查询(分页)

一、分页 语法

-- MySQL
SELECT * FROM t ORDER BY id LIMIT 偏移, 条数;
-- Oracle (12c+)
... OFFSET n ROWS FETCH NEXT m ROWS ONLY;
-- Oracle 旧版: ROWNUM 嵌套

二、参数说明

项目说明
LIMITMySQL 分页:LIMIT 偏移, 数量(偏移从0起)
OFFSET...FETCHOracle 12c+ / MySQL 也支持的标准分页
ROWNUMOracle 伪列,需先查一层再 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 分页

MySQL 分页

案例2:Oracle 12c+ 分页

Oracle 12c+ 分页

案例3:Oracle 旧版 ROWNUM

Oracle 旧版 ROWNUM

五、小结

分页查询是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。

💬 0 评论

评论(0)

登录后发表评论。