数据库的分页语句

在编写Web应用程序等系统时,会涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此常常采用分页语句:需要多少数据就只从数据库中取多少条记录。以下是Sql Server,Oracle和MySQL的分页语句(从数据库表中的第M条数据开始取N条记录):

SQL Server
从数据库表中的第M条记录开始取N条记录,利用Top关键字(如果Select语句中既有top,又有order by,则是从排序好的结果集中选择):

SELECT *�� FROM 
  (SELECT Top N * FROM 
    (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) 
  t1) 
t2�� Order by 主键 asc��  

例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

SELECT *�� FROM 
  (SELECT TOP 20 *�� FROM 
    (SELECT TOP 29 * FROM Sys_option order by sys_id desc) 
  t1) 
t2�� Order by sys_id asc

MySQL数据库
My sql数据库最简单,是利用mySQL的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:

SELECT [列名列表] FROM 表名称 LIMIT M,N�  

例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

select * from sys_option limit 10,20 

Oralce数据库
从数据库表中第M条记录开始检索N条记录



例如从表employees(主键为employee_id)中从11条记录还是检索20条记录,语句如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容