Detaillierte Erläuterung der Grundprinzipien der Oracle-Paging-Abfrage

小云云
Freigeben: 2023-03-17 19:52:01
Original
2134 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich das Prinzip der Oracle-Paging-Abfrage im Detail vorgestellt und die Implementierungsmethode anhand der Beispieltestdaten analysiert. In diesem Artikel werden die Grundkenntnisse der Oracle-Paging-Abfrage im Detail anhand des Datenabfrageprinzips und der Paging-Implementierungsmethode analysiert Im Folgenden finden Sie den Inhalt dieses Artikels:

Grund 1

Oracle generiert standardmäßig Rowmun- und Rowid-Felder für jede Tabelle. Diese Felder werden Pseudospalten genannt

1 Erstellen Sie eine Testtabelle


CREATE TABLE TEST(
ID NUMBER,
NAME VARCHAR2(20)
)
Nach dem Login kopieren


2 Testdaten einfügen


INSERT INTO TEST VALUES (1,'张三');
INSERT INTO TEST VALUES (2,'李四');
INSERT INTO TEST VALUES (3,'王五');
INSERT INTO TEST VALUES (4,'赵六');
INSERT INTO TEST VALUES (5,'郑七');
INSERT INTO TEST VALUES (6,'胡八');
INSERT INTO TEST VALUES (7,'刘九');
Nach dem Login kopieren


3 Sehen Sie sich die Tabellenfelder an und bestätigen Sie die integrierten Felder


select rowid,rownum,id,name from TEST;
Nach dem Login kopieren


4 rowid wird im Allgemeinen nicht zum Speichern des physischen Speicherorts von Zeilen verwendet. Rownum ist die Zeilennummer

zwei

1. Zeilen abfragen, die kleiner als 5 sind, und vier Ergebnisse abfragen


select rowid,rownum,id,name from test where rownum <5;
Nach dem Login kopieren


2 Zeilen abfragen, die größer als sind 2 und weniger als 5


select rownum,id,name from test where rownum>2 and rownum <5;
Nach dem Login kopieren


Ich habe nichts gefunden, was ist der Grund?,

rownum hat das Folgende Merkmale gelten:

1 ROWNUM gilt nur für weniger als oder kleiner oder gleich. Bei gleicher Beurteilung kann es nur gleich 1 sein.

2 ROWNUM ist die Anzahl von Vom Oracle-System nacheinander zugewiesene Zeilen. Die erste zurückgegebene Zeile ist 1, die zweite Zeile ist 2 usw.

3 ROWNUM beginnt immer bei 1

4 Die erste Datenzeilennummer ist 1, was die Bedingung von >2 nicht erfüllt, dann wird die eine Zeile entfernt und die vorherige zweite Zeile wird zur neuen ersten Zeile. Dies wird bis zur letzten Zeile fortgesetzt, und die Bedingungen werden nie erfüllt, also nicht einmal eine einzelne welches Datenelement gefunden werden kann.

3 Richtige Schreibweise: Da es nicht verwendet wird, verwenden Sie die innere Abfrage, um die Zeilennummer als Ergebnismenge abzufragen, und verwenden Sie die innere Ergebnismenge zum Vergleich in die äußere Schicht.


select rownum,id,name from
( select rownum rn, u.* from test u where rownum<5) un
where un.rn>2
Nach dem Login kopieren


4 Wenn das Paging durchgeführt wird, zum Beispiel drei Zeilen pro Seite müssen Sie abfragen. Die zweite Seite entspricht der Überprüfung von 4, 5, 6 Elementen. Startzeile 4 = (Seitenzahl - 1) * Länge jeder Seite + 1, Endzeile 6 = Seitenzahl * Länge jeder Seite Seite


select rownum,id,name from (
  select rownum rn , t.* from test t where rownum <=6) n
where n.rn>=4
Nach dem Login kopieren


5 Ebenso kann die Abfrage in 4 auf die meisten geändert werden Gemeinsame dreistufige Struktur


select rownum,id,name from (
  select rownum rn, n.* from 
    (
     select * from test --最内层循环该怎么写怎么写
    ) n where rownum <=6 --小于限制写在第二层
  ) 
 where rn>=4
Nach dem Login kopieren

Der obige Inhalt ist das Grundprinzip der Oracle-Paging-Abfrage. Ich hoffe, er kann jedem helfen.

Verwandte Empfehlungen:

Oracle-Paging-Funktionsbeispiel implementiert in PHP

php+oracle-Paging-Klasse_PHP-Tutorial

Oracle Paging-Abfrage-SQL-Prinzipien und -Anweisungen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Grundprinzipien der Oracle-Paging-Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage