--1 : Pas de méthode de tri ORDER BY. (le plus efficace) &timide;
--(Après les tests, cette méthode a le coût le plus bas, un seul niveau d'imbrication et la vitesse la plus rapide ! Même si la quantité de données interrogées est importante, elle n'est presque pas affectée et la vitesse est toujours la même !) ­
SELECT * &timide;
FROM (Sélectionnez ROWNUM AS ROWNO, T.* ­
de k_task T ­
où Flight_date entre to_date('20060501', 'aaaammjj') et ­
to_date('20060731', 'aaaammjj') ­
ET ROWNUM <= 20) TABLE_ALIAS ­
OÙ TABLE_ALIAS.ROWNO >= 10 &timide;
&timide;
--2 : Il existe une méthode de tri ORDER BY. (le plus efficace) &timide;
--(Après les tests, cette méthode deviendra de plus en plus lente à mesure que la plage de requêtes s'étend !) ­
SELECT * &timide;
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
DE (Sélectionnez t.*­
de k_task T ­
où date_vol entre to_date('20060501', 'aaaammjj') et ­
to_date('20060531', 'aaaammjj') ­
ORDER BY FACT_UP_TIME, Flight_no) TT ­
OÙ ROWNUM <= 20) TABLE_ALIAS ­
où TABLE_ALIAS.rowno >= 10 ­
&timide;
--3 : Pas de méthode de tri ORDER BY. (Il est recommandé d'utiliser plutôt la méthode 1) ­
--(Cette méthode deviendra de plus en plus lente à mesure que la quantité de données de requête augmente !) ­
SELECT * &timide;
FROM (Sélectionnez ROWNUM AS ROWNO, T.* ­
de k_task T ­
où Flight_date entre to_date('20060501', 'aaaammjj') et ­
to_date('20060731', 'aaaammjj')) TABLE_ALIAS ­
OÙ TABLE_ALIAS.ROWNO <= 20 ­
ET TABLE_ALIAS.ROWNO >= 10 &timide;
--TABLE_ALIAS.ROWNO entre 10 et 100 ­
&timide;
--4 : Il existe une méthode de tri ORDER BY (il est recommandé d'utiliser la méthode 2 à la place) ­
--(Cette méthode deviendra de plus en plus lente à mesure que la plage de requêtes s'étend !) ­
SELECT * &timide;
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
DE (Sélectionnez * ­
de k_task T ­
où date_vol entre to_date('20060501', 'aaaammjj') et ­
to_date('20060531', 'aaaammjj') ­
ORDER BY FACT_UP_TIME, numéro de vol) TT) TABLE_ALIAS ­
où TABLE_ALIAS.rowno ENTRE 10 ET 20 ­
&timide;
&timide;
--5 syntaxe alternative. (Avec la méthode d'écriture ORDER BY) ­
--(Le style de syntaxe est différent de la syntaxe SQL traditionnelle, qui est peu pratique à lire et à comprendre. Il s'agit d'une norme standard et unifiée et n'est pas recommandée.) ­
Avec partdata as( ­
SELECT ROWNUM AS ROWNO, TT.* FROM (Sélectionnez * ­
de k_task T ­
où date_vol entre to_date('20060501', 'aaaammjj') et ­
to_date('20060531', 'aaaammjj') ­
ORDER BY FACT_UP_TIME, Flight_no) TT ­
O ROWNUM <= 20) ­
Sélectionnez * dans partdata où rowno >= 10 ­
&timide;
--6 syntaxe alternative. (Pas de méthode d'écriture ORDER BY) ­
Avec partdata as( ­
Sélectionnez ROWNUM AS ROWNO, T.* ­
De K_task T­
où Flight_date entre to_date('20060501', 'aaaammjj') et ­
To_date('20060531', 'aaaammjj') ­
ET ROWNUM <= 20) ­
Sélectionnez * dans partdata où Rowno >= 10 ­
-