`

oracle、mysql、SqlServer分页的实现

 
阅读更多

  我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库Sql Server,OracleMy sql的分页语句,从数据库表中的第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

       

     二、 Oralce数据库
       
从数据库表中第M条记录开始检索N条记录
           SELECT *
           FROM (SELECT ROWNUM r,t1.* From
表名称 t1 where rownum < M + N) t2
           where t2.r >= M
          
例如从表Sys_option(主键为sys_id)中从10条记录开始检索20条记录,语句如下:
           SELECT *
           FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2
            Where t2.R >= 10
       
如果你对Oracle数据库分页不是很熟悉的话,本页后面有专门对Oracle分页技术的讲解。
     

     三、My sql数据库
      My sql
数据库最简单,是利用mysqlLIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
           SELECT * FROM
表名称 LIMIT M,N

 

            例如从表Sys_option(主键为sys_id)中从10条记录开始检索20条记录,语句如下:
            select * from sys_option limit 10,20

0
1
分享到:
评论

相关推荐

    oracle mysql sqlserver分页

    本文将详细介绍Oracle、MySQL以及SQL Server三种主流数据库系统中的分页技术,包括它们各自的实现方法和一些实用技巧。 ### 一、Oracle 分页 Oracle数据库提供了强大的功能来支持分页查询。在Oracle中,主要使用`...

    oracle mysql SQL server分页

    本文将详细介绍Oracle、MySQL以及SQL Server这三种常用数据库管理系统中的分页查询实现方法。 #### 一、Oracle 分页查询 在Oracle中实现分页查询主要依靠`ROWNUM`伪列,这是一种非常简单但功能强大的机制。下面将...

    sql 分页 oracle mysql sqlserver

    sql 分页 针对oracle mysql sqlserver 等数据库的通用类

    mysql,oracle,sqlserver分页

    ### 数据库分页技术详解:MySQL、Oracle与SQL Server #### Oracle 分页 在Oracle数据库中实现分页功能,主要依赖于`ROWNUM`伪列。`ROWNUM`用于为查询结果集中的每一行分配一个唯一的编号,从1开始递增。通过控制`...

    mysql分页,oracle分页,sql server三种数据库实现分页

    mysql,oracle,sql server分页总结与比较

    Oracle,SQl,MySql实现分页查询

    本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server(这里用SQL代替)、MySQL中的实现方式,并对它们的性能进行对比分析。 #### 分页方案一:利用Not In和SELECT TOP分页 **基本...

    Oracle Sql语句转换成Mysql Sql语句

    OracleSqlConvert4MysqlSqlTool.java这个源码工具,根据描述,应该是实现了自动读取Oracle SQL语句,分析其结构,并根据MySQL的语法规则进行转换,然后将转换后的SQL语句保存到指定的目标文件中。这个工具简化了手动...

    mysql、sqlserver、oracle分页,java分页统一接口实现

    MySQL、SQL Server、Oracle 分页及 Java 分页统一接口实现 MySQL、SQL Server、Oracle 分页是关系数据库管理系统中最基本也是最常用的操作之一,而 Java 分页统一接口实现则是对数据库操作的抽象和封装。本文将对 ...

    oracle mysql sql server 等数据库的分页要点解析

    3. **SQL Server分页** SQL Server使用`TOP`和子查询实现分页,如下: ```sql int pageSize = 10; int filter = pageSize * (currentPage - 1); SELECT TOP pageSize * FROM Users WHERE id NOT IN (SELECT TOP ...

    sql分页(sqlserver,mysql,oracle )

    不同的数据库系统,如SQL Server、MySQL、Oracle,由于其设计原理和语法的不同,在实现分页功能上也有所差异。下面将详细介绍这三种数据库系统的分页方法。 ### SQL Server 分页 SQL Server 中实现分页主要通过`...

    Oracle,mysql,sqlserver等各种数据库的分页方法

    ### SQL Server分页方法 SQL Server中的分页实现方式相对复杂,主要通过子查询结合`TOP`关键字来完成。 #### 2. 使用`TOP`与子查询 这种方法利用了`TOP`关键字来限制结果集的数量,并通过子查询来排除前几条记录...

    sqlserver,mysql,oracle三种数据库的分页查询

    本文将深入探讨SQL Server、MySQL和Oracle这三种主流数据库系统中的分页查询实现方式。 首先,我们来看SQL Server。SQL Server提供了一种称为"TOP"的关键字来实现分页。例如,如果我们想获取第1页(假设每页有10条...

    用于oracle,mysql,sqlserver,数据库分页联合查询

    本话题主要聚焦于如何在Oracle、MySQL和SQL Server这三种主流关系型数据库中实现分页联合查询。 首先,我们来看Oracle数据库的分页查询。Oracle使用ROWNUM关键字来实现分页。例如,如果我们想获取第10到20条记录,...

    数据库分页大全,oracle,sqlserver,mysql

    以上介绍了Oracle、SQL Server和MySQL这三种主流数据库中实现分页的不同方法。虽然这些数据库之间的语法存在差异,但其核心思想都是通过限制返回结果的数量来实现分页效果。在实际应用中,开发人员应根据具体情况...

    Sqlserver、Oracle、MySql、PostgreSql、SqlLite数据库差异

    - **Sqlserver**、**Oracle**、**MySql**、**PostgreSql** 和 **SqlLite** 都提供了丰富的内置函数支持,包括数学、日期时间、字符串处理等多方面功能。 #### 五、分页 分页是数据库中常见的需求之一,不同的...

    Oracle中实现MySql中limit+SqlServer分页+分页的存储过程

    本篇文章将探讨如何在Oracle数据库中实现类似MySQL的`LIMIT`分页功能,以及如何模拟SQL Server的分页方式,并介绍`INTERSECT`和`MINUS`这两个SQL运算符。 首先,`INTERSECT`运算符用于找出两个或多个查询结果中的...

    mybatis分页插件,支持kingbase、tdengine、达梦、mysql、oracle、sqlserver等数据库

    这款插件不仅兼容多种数据库系统,如Kingbase、TDengine、达梦、MySQL、Oracle和SQLServer,还极大地简化了在实际开发中处理大量数据时的分页操作。下面我们将详细探讨MyBatis分页插件的核心功能、原理以及与各...

    mysql oracle和sqlserver分页查询实例解析

    本文将分别介绍MySQL、Oracle和SQL Server三种主流数据库系统的分页查询实现。 首先,MySQL的分页查询非常直观,只需要使用`LIMIT`关键字。基本语法是`SELECT * FROM (query) o LIMIT firstIndex, pageSize`。这里...

    数据库迁移及区别比较(Oracle,Sql Server,MySql).docx

    3. **分页**:MySQL常使用`LIMIT`和`OFFSET`进行分页,而SQL Server和Oracle使用`ROW_NUMBER()`窗口函数或`ROWNUM`。 4. **内置函数**:每个数据库都有自己的内置函数集合,例如,Oracle的`DBMS_OUTPUT.PUT_LINE`在...

    oracle rownum 的使用 和sqlserver有区别的!

    通过上述介绍可以看出,虽然 Oracle 和 SQL Server 都提供了用于标记行序号的功能,但它们在实现方式和使用细节上存在显著差异。了解这些差异有助于开发者在实际应用中选择最适合的技术方案,从而更好地满足业务需求...

Global site tag (gtag.js) - Google Analytics