`
Callan
  • 浏览: 736043 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle, SQL Server, My SQL数据分页查询语句

阅读更多

经常在网站上看到“上一页/下一页”,实现方法主要是每次到数据库中得到当前页面的数据,下面总结Oracle, SQL Server 和MySQL的分页SQL语句如下:
 
Oracle:
 
    方法一:
    SELECT * FROM
    (
        SELECT A.*, ROWNUM RN
        FROM (SELECT * FROM TABLE_NAME) A
        WHERE ROWNUM <= 40
    )
    WHERE RN >= 21;
    方法二:
    SELECT * FROM
    (
        SELECT A.*, ROWNUM RN
        FROM (SELECT * FROM TABLE_NAME) A
    )
    WHERE RN between 21 and 40
 
    公认第二种方法效率没有第一种高。原因是第二种要把子查询执行完,而第一种方法子查询执行到Rownum=40后就结束了。
 
MySQL:
 
    SELECT * FROM TABLE_NAME LIMIT 10, 20
    表示从第11条数据开始取20条数据返回,limit后的2个参数含义为:起点和步长,即从那条数据开始,取多少条数据,再如取前20条数据:SELECT * FROM TABLE_NAME LIMIT 0, 20
 
SQL Server2000:
 
    SELECT TOP @pagesize * FROM TABLE_NAME WHERE id not in (SELECT TOP @pagesize*(@page-1) id  FROM TABLE_NAME ORDER BY id) ORDER BY id
 
SQL Server 2005:
 
    方法一:

    SELECT ...
    FROM
        (
            SELECT ROW_NUMBER() OVER (ORDER BY ID asc) AS RowNum, ......
            FROM TABLE_NAME
        ) AS T
    WHERE T.RowNum> 10  and T.RowNum<= 20
 
    方法二:

    WITH DataList AS
    (
        SELECT ROW_NUMBER() OVER (ORDER BY O.ID DESC)AS RowNum, ......
        FROM .....
        WHERE ......
    )

    SELECT ......
    FROM DataList
    WHERE RowNum BETWEEN 10 AND 20


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/footpath/archive/2008/08/21/2805973.aspx

分享到:
评论

相关推荐

    关于SQL Server SQL语句查询分页数据的解决方案

    关于SQL Server SQL语句查询分页数据的解决方案 在日常工作中,我们经常需要处理大量数据,并从中获取特定页面的数据。特别是在Web应用开发中,为了提高用户体验,通常会将数据进行分页显示。针对这一需求,本文将...

    Oracle Sql语句转换成Mysql Sql语句

    2. **分页查询**:Oracle使用ROWNUM进行分页,而MySQL通常使用LIMIT和OFFSET。在转换过程中,需要将Oracle的ROWNUM替换为MySQL的LIMIT子句。 3. **连接查询**:Oracle的JOIN语法允许在ON条件中使用子查询,而在...

    实现ORACLE与SQLSERVER数据库间的数据抽取与转换工具

    在Oracle与SQL Server之间进行数据转换,我们需要考虑两者之间的语法差异,例如,日期时间格式、字符串函数、分页查询等。例如,Oracle的`TO_DATE`函数在SQL Server中可能是`CONVERT`函数,`SUBSTR`在SQL Server中...

    SQL Server 存储过程及Oracle SQL语句分页

    而Oracle的分页SQL语句更为简洁,适合在不支持存储过程或者简单场景下使用。但需要注意的是,Oracle的`ROWNUM`方式在处理有序数据时可能会有性能问题,因为`WHERE ROWNUM`条件可能无法充分利用索引。 在实际应用中...

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

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

    Sql语法转换为Oracle语法

    这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的"SqlConvertToOracle.pas"是一个关键文件,它可能是一个用Delphi编写的源代码文件,包含了实现SQL语句...

    用SQL语句实现分页(Oracle版Sql Server版)

    ### 使用SQL语句实现分页(Oracle与SQL Server版本) #### 一、Oracle数据库分页实现 在Oracle数据库中,实现分页查询主要依赖于`ROWNUM`这一特殊功能。`ROWNUM`是一个伪列,它为结果集中的每一行分配一个唯一的...

    oracle sql分页语句

    Oracle SQL分页语句是数据库查询中的一个重要概念,它允许我们从海量数据中按需获取特定范围的结果,比如第一页、第二页等。在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、...

    几条常见的数据库分页SQL 语句

    几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。

    Oracle 10g数据库海量数据分页查询优化.pdf

    该方案通过分析传统分页查询技术的不足,融合了多种技术,包括数据库优化策略、SQL 语句优化、游标变量、批绑定、动态 SQL 等,以提高海量数据的分页查询效率。 database optimization 在 Oracle 10g 数据库中,...

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

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

    mysql,oracle,sqlserver分页

    ### 数据库分页技术详解:MySQL、Oracle与SQL Server #### Oracle 分页 ...例如,在Oracle中利用`ROWNUM`进行简单快速的分页处理,在SQL Server中则可以利用窗口函数实现更为灵活高效的分页查询。

    oracle分页查询并返回总记录数据存储过程

    ### Oracle 分页查询并返回总记录数据存储过程 在数据库应用开发中,为了提高用户体验以及减少服务器负担,分页查询成为了一种常见的技术手段。Oracle 数据库提供了多种方法来实现分页查询,其中使用存储过程是一种...

    使用简单的SQL语句实现的Oracle数据库分页技术

    本文将介绍一种利用简单SQL语句来实现Oracle数据库分页的方法,这种方法不依赖于复杂的PL/SQL过程或函数,而是通过SQL查询的巧妙设计来达到目的。 ### 分页公式的原理 在Oracle中,分页查询通常涉及到对结果集进行...

    Oracle,SQl,MySql实现分页查询

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

    Oracle的分页查询语句 Oracle分页的存储过程

    Oracle数据库在处理大数据量查询时,分页查询是一种常见的优化策略,目的是限制返回结果集的大小,加快查询速度,提供更好的用户体验。本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询...

    Oracle SQL语句分页问题

    本文将针对Oracle数据库中的SQL分页问题进行深入探讨,并提供具体的实现方法。 #### 二、Oracle SQL分页原理及方法 ##### 2.1 基本概念 分页查询是指将查询结果按照一定的数量分割成多个“页面”,用户可以通过...

    sql分页(sqlserver,mysql,oracle )

    总结而言,虽然SQL Server、MySQL和Oracle在实现分页的具体语法上有所不同,但核心思想都是先定位到起始行,然后根据每页显示的记录数来选取相应数据。理解这些不同数据库的分页机制,对于高效地管理大量数据至关...

    oracle mysql sqlserver分页

    以上就是Oracle、MySQL和SQL Server三种数据库中分页查询的基本实现方法。通过这些方法,我们可以有效地处理大量数据的分页显示问题,提高应用程序的性能和用户体验。每种数据库的实现细节有所不同,因此在实际开发...

    Sql Server 的SQL语句案例

    在IT行业中,数据库管理系统(DBMS)如Sql Server扮演着至关重要的角色,它们负责管理和存储数据。Sql Server是一个广泛使用的数据库系统,它提供了强大的SQL语言支持来操作和管理数据。SQL(Structured Query ...

Global site tag (gtag.js) - Google Analytics