数据库的分页语句

2016-07-31  本文已影响0人  怪蜀黍Zzzzlw

在编写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条记录,语句如下:


上一篇 下一篇

猜你喜欢

热点阅读