`

oracle 分页和TOP的SQL的说明

 
阅读更多
在这对经常用到的一个进行分页输出或者取TOP* 的SQL进行一下说明:
大家都能看明白经常用的写法有(没有排序):
1)select * from ( select rownum rn ,a.* from tablea ) where rn < 41 and rn > 19;
  2)select * from ( select rownum rn ,a.* from table a where rownum < 41 ) where rn > 19;
   这两中写法,推荐第二种,两种比较而言,第二种中间加载的数据集更小,更有优势。
对于有排序的情况,必须将排序单加一层查询:
1)select * from (select * ,rownum rn from ( select a.* from service a order by ID )) where rn < 41 and rn > 19;
2)select * from (select * ,rownum rn from ( select a.* from service a order by ID ) where rownum < 41 ) where rn > 19;
虽说IO的代价很小,但是还是有一定的性能优势的。
 
对于取top的,可以直接用rownum进行过滤:
(无排序): select a.* from tablea  where rownum <= 10;
(有排序):select* from (select * from table a order by ID ) where rownum <=10;
分享到:
评论

相关推荐

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

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

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

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

    常用数据库sql分页

    Oracle分页 Oracle的分页语句使用ROWNUM关键字,语法为: ```sql SELECT * FROM (SELECT ROWNUM R, t.* FROM table_name WHERE ROWNUM ) WHERE R &gt;= startIndex; ``` 其中,startIndex指定从第几行开始提取,...

    asp.net+oracle 分页

    更好的方法是使用Oracle的"OFFSET-FETCH"语法,类似于SQL Server的"TOP-N"。例如: ``` SELECT * FROM (SELECT T.*, ROWNUM RN FROM YourTable T WHERE YourCondition) WHERE RN BETWEEN (PageSize * (Current...

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

    ### Oracle分页方法 Oracle数据库提供了`ROWNUM`伪列来进行分页查询,但在使用时需要注意一些细节。 #### 3. 使用`ROWNUM`伪列 - **获取指定范围的数据**(例如第2至第3条记录): ```sql SELECT ID FROM ( ...

    oracle mysql sqlserver分页

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

    sql分页(sqlserver,mysql,oracle )

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

    oracle mysql SQL server分页

    下面将介绍两种常用的Oracle分页查询方法: 1. **基础分页查询**: ```sql SELECT * FROM ( SELECT t.*, ROWNUM rn FROM table_name t WHERE ROWNUM ORDER BY attribute_id DESC ) WHERE rn &gt;= 6 ORDER ...

    Oracle,SQl,MySql实现分页查询

    ### Oracle、SQL、MySQL 实现分页查询方法详解 在数据库操作中,分页查询是一项非常重要的技术,尤其是在处理大量数据时。本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server...

    oracle一条sql语句分页

    这种分页方式非常实用,适用于大多数Oracle分页场景。 #### 3. 高级技巧与注意事项 - **子查询优化**:由于上述方法涉及多层嵌套查询,对于大型表来说可能会导致性能问题。一种改进的方法是使用`FETCH FIRST n ...

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

    无论是Oracle还是SQL Server,在实现分页查询时都有一些特定的技巧和方法。尽管两者在具体实现细节上有差异,但核心思想是相同的:通过限制查询结果集的范围来实现分页功能。这些技术对于提高Web应用程序的性能至关...

    数据库分页查询整理(oracle、mysql、SqlServer、access、db2等)

    不同的数据库管理系统(DBMS)有不同的分页查询语句,下面对 Oracle、DB2、SQL Server、MySQL、Access 等数据库的分页查询语句进行了整理。 SQL Server 分页查询 SQL Server 中有两种分页查询方法: 1. 第一种...

    Oracle与SQL的分页实现

    在IT领域,数据库查询...Oracle和SQL Server提供了多种实现分页查询的方法,各有特点。开发人员应根据具体的应用场景和数据库性能需求,选择最合适的分页策略。同时,持续关注数据库性能优化,以确保系统的高效运行。

    Oracle SQL语句分页问题

    ### Oracle SQL语句分页问题详解 #### 一、引言 在数据库查询操作中,分页是一项常用且重要的功能,特别是在数据量较大的情况下。它能够有效地提高用户体验,并减轻服务器负担。本文将针对Oracle数据库中的SQL分页...

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

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

    分页存储过程 oracle sql

    在Oracle SQL中实现分页主要有两种方式:使用`ROWNUM`变量和子查询;或者使用`OFFSET`和`FETCH`关键字(仅在Oracle 12c及更高版本中可用)。 #### 使用`ROWNUM` 对于较旧版本的Oracle数据库,可以利用`ROWNUM`变量...

    数据库分页SQL语句实现

    本文将详细介绍三种主流数据库(SQL Server、MySQL和Oracle)中的分页SQL语句实现方法。 #### SQL Server 的分页SQL语句实现 SQL Server 支持通过`TOP`关键字来实现分页查询。具体实现方式如下: 1. **查询第M页...

    java笔记\Oracle里sql不能用limit的处理

    在Oracle中,我们可以使用RowNum函数、Minus运算符、Subquery和Top-N查询来实现分页查询。这些方法可以根据不同的需求选择合适的方法来实现分页查询。在开发中,我们需要根据实际情况选择合适的方法来实现分页查询。

    Oracle高级sql学习与练习

    Oracle高级SQL学习与练习涵盖了数据库编程中的一系列高级主题,旨在帮助数据库开发者和管理员提高解决复杂问题的能力。在Oracle数据库系统中,高级SQL技能是进行高效数据管理、查询优化和复杂数据处理的基础。 1. ...

    TERADATA、ORACLE数据库分页

    本篇将深入探讨TERADATA和ORACLE这两种广泛应用的关系型数据库在实现分页查询时的方法。 TERADATA是一个并行数据库系统,以其高效的大数据处理能力著称。在TERADATA中,进行分页查询主要通过使用`TOP`或`LIMIT`...

Global site tag (gtag.js) - Google Analytics