`

ORACLE分页查询SQL语法

 
阅读更多
oracle数据库
--1:无ORDER BY排序的写法。(效率最高)
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;

--2:有ORDER BY排序的写法。(效率最高)
--(经过测试,此方法随着查询范围的扩大,速度也会越来越慢哦!)
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select t.*
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT
WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIAS.rowno >= 10;

--3:无ORDER BY排序的写法。(建议使用方法1代替)
--(此方法随着查询数据量的扩张,速度会越来越慢哦!)
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO <= 20
AND TABLE_ALIAS.ROWNO >= 10;
--TABLE_ALIAS.ROWNO between 10 and 100;

--4:有ORDER BY排序的写法.(建议使用方法2代替)
--(此方法随着查询范围的扩大,速度会越来越慢哦!)
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select *
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT) TABLE_ALIAS
where TABLE_ALIAS.rowno BETWEEN 10 AND 20;


--5另类语法。(有ORDER BY写法)
--(语法风格与传统的SQL语法不同,不方便阅读与理解,为规范与统一标准,不推荐使用。)
With partdata as(
SELECT ROWNUM AS ROWNO, TT.* FROM (Select *
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT
WHERE ROWNUM <= 20)
Select * from partdata where rowno >= 10;

--6另类语法 。(无ORDER BY写法)
With partdata as(
Select ROWNUM AS ROWNO, T.*
From K_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
To_date('20060531', 'yyyymmdd')
AND ROWNUM <= 20)
Select * from partdata where Rowno >= 10;

分享到:
评论

相关推荐

    Sql语法转换为Oracle语法

    标题“Sql语法转换为Oracle语法”涉及到的主要知识点是SQL Server与Oracle数据库之间的SQL语句转换。这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的...

    Oracle 3种分页SQL方法比较

    本文将详细探讨三种常用的Oracle分页SQL方法:ROWNUM、ROWNUM结合子查询以及新引入的Oracle 12c的FETCH NEXT WITH OFFSET语法。这三种方法各有优缺点,适用于不同的场景。 1. ROWNUM方法: ROWNUM是Oracle中最基础...

    oracle下的SQL语法快速查看手册

    【Oracle SQL语法快速查看手册】 Oracle数据库管理系统是全球广泛使用的RDBMS(关系数据库管理系统)之一,基于E.F.Codd提出的关系模型理论。ORDBMS(对象关系数据库管理系统)如Oracle,不仅支持基本的关系数据库...

    Oracle实现分页查询的SQL语法汇总

    本文将详细介绍Oracle实现分页查询的几种SQL语法。 1. **无ORDER BY排序的写法** 这种方法适用于无需特定排序顺序的情况,效率最高。在查询时,它创建一个子查询,将ROWNUM伪列与实际数据结合,然后在外层查询中...

    oracle SQL语法大全.rar

    Oracle SQL语法大全是一个重要的学习资源,它涵盖了在Oracle数据库管理系统中进行数据查询、操作和管理时所需的各种SQL语句和技巧。SQL(Structured Query Language)是用于与关系型数据库交互的语言,而Oracle作为...

    Oracle分页(limit方式的运用)

    #### 二、Oracle分页的基本语法 假设我们需要从一个名为`EMPLOYEE`的表中查询数据,并实现每页显示10条记录。下面是使用`OFFSET`与`FETCH FIRST`进行分页查询的基本语法示例: ```sql SELECT * FROM ( SELECT ...

    oracle sql分页语句

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

    oracle分页查询

    Oracle数据库在处理大数据量时,分页查询是一种非常重要的优化策略,它可以帮助用户按需加载数据,避免一次性加载大量记录导致的性能问题。本主题将详细介绍Oracle中的分页查询,并结合Java和ASP.NET如何调用存储...

    oracle 分页类文件

    `ShowSQL.java`可能会包含生成这类复杂SQL的静态方法,接收页码和每页记录数作为输入,返回符合Oracle语法的分页SQL。同时,为了提高性能,可能还会涉及优化SQL,比如使用索引来加速查询。 在实际使用中,开发者...

    Oracle,SQl,MySql实现分页查询

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

    Oracle Sql语句转换成Mysql Sql语句

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

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

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

    SSH+ORACLE通用分页

    在Oracle数据库中,进行分页查询通常涉及SQL的`ROWNUM`或`ROW_NUMBER()`函数,以及子查询或嵌套查询。`ROWNUM`在早期版本的Oracle中被广泛使用,它会为每行数据分配一个唯一的数字,通过与特定范围的比较来获取指定...

    oracle的 分页sql语句

    本文详细介绍了在 Oracle 数据库中如何实现分页查询,包括基本的 SQL 语句和存储过程两种方式,并给出了具体的 Java 实现示例。通过这些方法,你可以有效地管理和优化大量数据的展示,提高应用程序的性能和用户体验...

    Oracle讲义 SQL语法规则

    本讲义将深入探讨Oracle中的SQL语法规则,帮助初学者快速入门。 一、SQL基础概念 SQL,全称结构化查询语言,分为DML(Data Manipulation Language)用于数据操作,DDL(Data Definition Language)用于数据定义,...

    各数据库分页语法支持

    不同的数据库系统提供了不同的分页机制,本文将详细介绍几种常见数据库(Oracle、DB2、SQL Server、PostgreSQL)的分页语法支持,并给出具体的示例。 #### Oracle 数据库分页 Oracle 支持多种分页方式,包括三层...

    oracle和SQL的语法区别

    Oracle和SQL Server都使用SELECT语句进行查询,但在某些细节上有所区别,例如在分页查询时,Oracle使用ROWNUM,而SQL Server使用TOP或OFFSET/FETCH。 二、函数对比 1. 日期函数: Oracle:使用SYSDATE获取当前日期...

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

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

Global site tag (gtag.js) - Google Analytics