--1: Keine Sortiermethode ORDER BY. (am effizientesten) ­
--(Nach dem Testen hat diese Methode die niedrigsten Kosten, nur eine Verschachtelungsebene und die schnellste Geschwindigkeit! Auch wenn die abgefragte Datenmenge groß ist, bleibt sie nahezu unbeeinflusst und die Geschwindigkeit bleibt gleich!) ­
SELECT * ­
FROM (Wählen Sie ROWNUM AS ROWNO, T.* ­
von k_task T ­
wobei Flight_date zwischen to_date('20060501', 'yyyymmdd') und ­
to_date('20060731', 'yyyymmdd') ­
AND ROWNUM <= 20) TABLE_ALIAS ­
WHERE TABLE_ALIAS.ROWNO >= 10;
&schüchtern;
--2: Es gibt eine Sortiermethode ORDER BY. (am effizientesten) ­
--(Nach dem Testen wird diese Methode mit zunehmendem Abfragebereich immer langsamer!) ­
SELECT * ­
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
VON (Wählen Sie t.*­
von k_task T ­
wobei das Flugdatum zwischen to_date('20060501', 'yyyymmdd') und ­
to_date('20060531', 'yyyymmdd') ­
ORDER BY FACT_UP_TIME, Flugnummer) TT ­
WHERE ROWNUM <= 20) TABLE_ALIAS ­
wobei TABLE_ALIAS.rowno >= 10;
&schüchtern;
--3: Keine Sortiermethode ORDER BY. (Es wird empfohlen, stattdessen Methode 1 zu verwenden) ­
--(Diese Methode wird mit zunehmender Menge an Abfragedaten immer langsamer!) ­
SELECT * ­
FROM (Wählen Sie ROWNUM AS ROWNO, T.* ­
von k_task T ­
wobei Flight_date zwischen to_date('20060501', 'yyyymmdd') und ­
to_date('20060731', 'yyyymmdd')) TABLE_ALIAS ­
WHERE TABLE_ALIAS.ROWNO <= 20 ­
AND TABLE_ALIAS.ROWNO >= 10;
--TABLE_ALIAS.ROWNO zwischen 10 und 100;
&schüchtern;
--4: Es gibt eine Sortiermethode ORDER BY (Es wird empfohlen, stattdessen Methode 2 zu verwenden) ­
--(Diese Methode wird mit zunehmendem Abfragebereich immer langsamer!) ­
SELECT * ­
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
VON (Wählen Sie * ­
von k_task T ­
wobei das Flugdatum zwischen to_date('20060501', 'yyyymmdd') und ­
to_date('20060531', 'yyyymmdd') ­
ORDER BY FACT_UP_TIME, Flugnummer) TT) TABLE_ALIAS ­
wobei TABLE_ALIAS.rowno ZWISCHEN 10 UND 20 ­
&schüchtern;
&schüchtern;
--5 alternative Syntax. (Mit der Schreibmethode ORDER BY) ­
--(Der Syntaxstil unterscheidet sich von der herkömmlichen SQL-Syntax, was unbequem zu lesen und zu verstehen ist. Es handelt sich um einen Standard- und einheitlichen Standard und wird nicht empfohlen.) ­
Mit partdata as( ­
SELECT ROWNUM AS ROWNO, TT.* FROM (Select * ­
von k_task T ­
wobei das Flugdatum zwischen to_date('20060501', 'yyyymmdd') und ­
to_date('20060531', 'yyyymmdd') ­
ORDER BY FACT_UP_TIME, Flugnummer) TT ­
WHERE ROWNUM <= 20) ­
Wählen Sie * aus Teildaten aus, wobei rowno >= 10 ­
&schüchtern;
--6 alternative Syntax. (Keine ORDER BY-Schreibmethode) ­
Mit partdata as( ­
Wählen Sie ROWNUM AS ROWNO, T.* ­
Von K_task T­
wobei Flight_date zwischen to_date('20060501', 'yyyymmdd') und ­
To_date('20060531', 'yyyymmdd') ­
AND ROWNUM <= 20) ­
Wählen Sie * aus Teildaten aus, wobei Rowno >= 10 ­
-