Oracles Intervallabfrageanweisung: 1. Anweisung „select * from table name where rownum
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle Version 12c, Dell G3-Computer.
Oracle verwendet das Schlüsselwort rownum, um diese Art von Abfrage zu implementieren:
⾸ Nehmen wir zunächst an, dass es einen Tabellenbereich mit geografischen Informationen gibt und seine Tabellenstruktur wie in gezeigt ist Die Abbildung unten:
Die Daten in der Tabelle sind wie folgt (das Ergebnis der Anweisung „select * from area“):
1) Fragen Sie die ersten 8 Datensätze in der Tabelle ab
select * from area where rownum <= 8
Die Abfrageergebnisse sind wie folgt:
2) Fragen Sie den 2. bis 8. Datensatz ab
Für diese Form der Abfrage ist Oracle nicht so praktisch wie MySQL. Sie muss mithilfe von Unterabfragen oder Mengenoperationen implementiert werden. Wir können die folgenden drei Methoden verwenden, um dies zu erreichen:
A: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num between 2 and 8;
※ Zuerst erhalten Sie eine temporäre Tabelle basierend auf der ausgewählten ID, der Provinz, der Stadt, dem Bezirk und der Rownum als Nummer aus dem Bereich. In dieser temporären Tabelle gibt es eine Rownum-Spalte (eine Pseudo-Spalte). Spalte, ähnlich wie
rowid, aber anders als rowid, da rowid eine physisch vorhandene Spalte ist, d Tisch.
B: select * from area where rownum <= 8 minus select * from area where rownum < 2;
Verwenden Sie den Set-Subtraktionsoperator Minus, der Datensätze zurückgibt, die in der ersten Auswahl erscheinen, aber nicht in der zweiten Auswahl.
C: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num >=2 intersect
wählen Sie * aus dem Bereich aus, in dem rownum
Verwenden Sie den Set-Intersect-Operator, der einen Umweg erfordert (dieser Umweg implementiert jedoch die Abfrage, bei der rownum größer als eine bestimmte Zahl ist). Dies ist die Methode von A abzufragen, um alle Datensätze mit
rownum größer als 2 abzurufen, und führen Sie dann eine Schnittoperation mit dem Datensatz durch, dessen Rownum kleiner oder gleich 8 ist. Die durch die drei Vorgänge erzielten Ergebnisse sind die gleichen, wie in der folgenden Abbildung dargestellt:
Empfohlenes Tutorial: „
Oracle Video TutorialDas obige ist der detaillierte Inhalt vonWas ist die Intervallabfrageanweisung von Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!