Heim  >  Artikel  >  Datenbank  >  Was ist die Intervallabfrageanweisung von Oracle?

Was ist die Intervallabfrageanweisung von Oracle?

WBOY
WBOYOriginal
2022-06-10 17:09:183496Durchsuche

Oracles Intervallabfrageanweisung: 1. Anweisung „select * from table name where rownum

Was ist die Intervallabfrageanweisung von Oracle?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle Version 12c, Dell G3-Computer.

Was ist die Intervallabfrageanweisung von Oracle?

Oracle verwendet das Schlüsselwort rownum, um diese Art von Abfrage zu implementieren:

Was ist die Intervallabfrageanweisung von Oracle?

⾸ Nehmen wir zunächst an, dass es einen Tabellenbereich mit geografischen Informationen gibt und seine Tabellenstruktur wie in gezeigt ist Die Abbildung unten:

Was ist die Intervallabfrageanweisung von Oracle?

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:

Was ist die Intervallabfrageanweisung von Oracle?

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:

Was ist die Intervallabfrageanweisung von Oracle?Empfohlenes Tutorial: „

Oracle Video Tutorial

Das 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!

Stellungnahme:
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