Rumah pangkalan data tutorial mysql oracle分页查询sql原理与语句

oracle分页查询sql原理与语句

Jun 07, 2016 pm 05:46 PM
Pertanyaan halaman

很多朋友使用多了mysql limit进行分页到了oracle中就不知道如何写分页了,其实oracle分页与mssql分页很像的,下面我来给大家介绍oracle分页语句。

很多朋友使用多了mysql limit进行分页到了oracle中就不知道如何写分页了,其实oracle分页与mssql分页很像的,下面我来给大家介绍oracle分页语句。

最简单使用方法

 代码如下 复制代码

t2.*
from (select rownum r,t1.* from youtable t1 where rownum) t2
where t2.r>?

小于最大的,大于最小的,就是你需要的条数.如果你取40-50条之间的

查询格式:

 代码如下 复制代码

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM )
WHERE RN >= 21

其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM = 21控制分页查询的每页的范围。
上面给出的这个分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM 选择第21到40条记录存在两种方法,一种是上面例子中展示的在查询的第二层通过ROWNUM

 代码如下 复制代码

SELECT * FROM

(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 21 AND 40

后来发现数据越大就查询越慢了,后来得出一些测试结果分享给大家。

--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 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 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    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     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     Select * from partdata where Rowno >= 10;   

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging Sep 08, 2023 pm 02:28 PM

Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging Apabila membangunkan aplikasi web, ia selalunya melibatkan keperluan untuk menanya pangkalan data dan melakukan paparan paging. Sebagai bahasa skrip sebelah pelayan yang biasa digunakan, PHP mempunyai fungsi sambungan pangkalan data yang kuat dan boleh melaksanakan pertanyaan paging dengan mudah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging, dan melampirkan contoh kod yang sepadan. Sediakan pangkalan data Sebelum kita bermula, kita perlu menyediakan pangkalan data yang mengandungi data yang akan ditanya. Di sini kita mengambil pangkalan data MySQL sebagai contoh,

PHP dan PDO: Cara melaksanakan pertanyaan halaman dan memaparkan data PHP dan PDO: Cara melaksanakan pertanyaan halaman dan memaparkan data Jul 29, 2023 pm 04:10 PM

PHP dan PDO: Cara membuat pertanyaan dan memaparkan data dalam halaman Apabila membangunkan aplikasi web, menanya dan memaparkan data dalam halaman adalah keperluan yang sangat biasa. Melalui paging, kami boleh memaparkan sejumlah data pada satu masa, meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna. Dalam PHP, fungsi pertanyaan paging dan paparan data boleh direalisasikan dengan mudah menggunakan perpustakaan PHP Data Object (PDO). Artikel ini akan memperkenalkan cara menggunakan PDO dalam PHP untuk bertanya dan memaparkan data mengikut halaman, dan memberikan contoh kod yang sepadan. 1. Buat pangkalan data dan jadual data

Cara membuat pertanyaan paging data MySQL berprestasi tinggi menggunakan bahasa Go Cara membuat pertanyaan paging data MySQL berprestasi tinggi menggunakan bahasa Go Jun 17, 2023 am 09:09 AM

Dengan perkembangan pesat Internet, pemprosesan data telah menjadi kemahiran penting dalam pembangunan aplikasi perusahaan. Pangkalan data MySQL selalunya merupakan salah satu stor data yang paling biasa digunakan dalam banyak aplikasi. Dalam MySQL, pertanyaan paging data ialah operasi mendapatkan data biasa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan pertanyaan paging data MySQL berprestasi tinggi. 1. Apakah pertanyaan paging data? Pertanyaan paging data ialah teknologi pengambilan data yang biasa digunakan, yang membolehkan pengguna menyemak imbas hanya sejumlah kecil data pada halaman tanpa memuatkannya sekaligus.

Cara menggunakan Mysql untuk pertanyaan halaman dalam ThinkPHP6 Cara menggunakan Mysql untuk pertanyaan halaman dalam ThinkPHP6 Jun 20, 2023 pm 02:01 PM

Dengan perkembangan pesat Internet, pembangunan aplikasi web menjadi semakin kompleks. Dan pertanyaan paging adalah salah satu fungsi biasa dalam aplikasi web. ThinkPHP6 ialah rangka kerja web yang membantu pembangun membangunkan aplikasi dengan cepat. Dalam artikel ini, kita akan membincangkan cara melaksanakan pertanyaan bernombor menggunakan MySQL dalam ThinkPHP6. Pertama, kita perlu mencipta pangkalan data dalam ThinkPHP6. Kenyataan untuk mencipta pangkalan data dalam MySQL adalah seperti berikut: CREATEDATABASE

Cara menggunakan MongoDB dengan PHP untuk pertanyaan bernombor Cara menggunakan MongoDB dengan PHP untuk pertanyaan bernombor Jul 07, 2023 pm 09:28 PM

Gambaran keseluruhan tentang cara PHP menggunakan MongoDB untuk pertanyaan bernombor: MongoDB ialah pangkalan data bukan perhubungan yang sering digunakan untuk menyimpan sejumlah besar data dokumen, manakala PHP ialah bahasa skrip sebelah pelayan yang popular. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk menyambung ke MongoDB dan melaksanakan fungsi pertanyaan paging. Langkah 1: Pasang sambungan MongoDB Untuk berinteraksi dengan MongoDB dalam PHP, anda perlu memasang sambungan MongoDB. Sambungan MongoDB boleh dipasang dengan arahan berikut: h

Kemahiran pertanyaan halaman untuk pangkalan data PHP dan Oracle Kemahiran pertanyaan halaman untuk pangkalan data PHP dan Oracle Jul 11, 2023 pm 11:09 PM

Teknik pertanyaan paging untuk pangkalan data PHP dan Oracle Apabila membangunkan halaman web dinamik, jika anda perlu memaparkan sejumlah besar data, anda perlu melakukan pertanyaan paging. Pertanyaan berpenomboran ialah teknik yang membahagikan data kepada halaman yang lebih kecil supaya pengguna boleh menyemak imbas dan menavigasi dengan mudah. Dalam artikel ini, kami akan membincangkan cara untuk melaksanakan pertanyaan bernombor menggunakan pangkalan data PHP dan Oracle, dan menyediakan contoh kod yang berkaitan. 1. Persediaan Sebelum memulakan, kita perlu memastikan bahawa kita telah memasang dan mengkonfigurasi pangkalan data PHP dan Oracle. Jika masih

Cara menggunakan thinkorm untuk melaksanakan fungsi pertanyaan paging dengan mudah Cara menggunakan thinkorm untuk melaksanakan fungsi pertanyaan paging dengan mudah Jul 31, 2023 pm 10:41 PM

Gambaran keseluruhan cara menggunakan thinkorm untuk melaksanakan fungsi pertanyaan paging dengan mudah: Apabila membangunkan tapak web atau aplikasi, selalunya perlu melakukan pertanyaan paging pada data dalam pangkalan data untuk memaparkan sebahagian daripada data pada halaman dan menyediakan fungsi mengubah halaman . Artikel ini akan memperkenalkan cara menggunakan rangka kerja thinkorm untuk melaksanakan fungsi pertanyaan halaman dengan mudah dan memberikan contoh kod yang berkaitan. Langkah 1: Pasang thinkorm Pertama, anda perlu memasang rangka kerja thinkorm dalam projek Anda boleh menggunakan arahan berikut untuk memasangnya: composerrequi

Pertanyaan paging MySql: Cara menangani isu prestasi paging dalam pangkalan data yang besar Pertanyaan paging MySql: Cara menangani isu prestasi paging dalam pangkalan data yang besar Jun 15, 2023 pm 03:28 PM

Dalam aplikasi moden, kebanyakan data perlu dipaparkan dalam halaman. Apabila aplikasi perlu memproses sejumlah besar data, ini memberi tekanan pada pelayan dan pangkalan data, menyebabkan pertanyaan mengambil masa yang lebih lama. Mysql ialah salah satu pangkalan data hubungan yang paling popular pada masa ini. Artikel ini akan membincangkan cara mengoptimumkan prestasi pertanyaan paging Mysql. Prinsip paging Sebelum memulakan pengoptimuman, kita mesti terlebih dahulu memahami prinsip paging. Prinsip utama pertanyaan paging adalah untuk membahagikan data jadual kepada beberapa halaman, dan kemudian menanyakan data satu demi satu. Sebagai contoh, jika kita perlu

See all articles