--1: Nenhum método de classificação ORDER BY. (mais eficiente) &tímido;
--(Após o teste, este método tem o custo mais baixo, apenas um nível de aninhamento e a velocidade mais rápida! Mesmo que a quantidade de dados consultados seja grande, ela quase não é afetada e a velocidade ainda é a mesma!) &tímido;
SELECIONE * &tímido;
FROM (Selecione ROWNUM AS ROWNO, T.* ­
de k_task T ­
onde Flight_date entre to_date('20060501', 'yyyymmdd') e ­
to_date('20060731', 'aaaammdd') &tímido;
AND ROWNUM <= 20) TABLE_ALIAS ­
WHERE TABLE_ALIAS.ROWNO >= 10;
&tímido;
--2: Existe um método de classificação ORDER BY. (mais eficiente) &tímido;
--(Após o teste, este método ficará cada vez mais lento à medida que o intervalo de consulta se expande!) &tímido;
SELECIONE * &tímido;
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
DE (Selecione t.*&tímido;
de k_task T ­
onde data_do_voo entre to_date('20060501', 'yyyymmdd') e ­
to_date('20060531', 'aaaammdd') &tímido;
ORDER BY FACT_UP_TIME, voo_no) TT ­
ONDE ROWNUM <= 20) TABLE_ALIAS ­
onde TABLE_ALIAS.rowno >= 10;
&tímido;
--3: Nenhum método de classificação ORDER BY. (Recomenda-se usar o método 1) &tímido;
--(Este método ficará cada vez mais lento à medida que a quantidade de dados de consulta aumentar!) &tímido;
SELECIONE * &tímido;
FROM (Selecione ROWNUM AS ROWNO, T.* ­
de k_task T ­
onde Flight_date entre to_date('20060501', 'yyyymmdd') e ­
to_date('20060731', 'aaaammdd')) TABLE_ALIAS ­
WHERE TABLE_ALIAS.ROWNO <= 20 &tímido;
AND TABLE_ALIAS.ROWNO >= 10;
--TABLE_ALIAS.ROWNO entre 10 e 100 &tímido;
&tímido;
--4: Existe um método de classificação ORDER BY (é recomendado usar o método 2) &tímido;
--(Este método ficará cada vez mais lento à medida que o intervalo de consulta se expandir!) ­
SELECIONE * &tímido;
FROM (SELECT TT.*, ROWNUM AS ROWNO ­
DE (Selecione * &tímido;
de k_task T ­
onde data_do_voo entre to_date('20060501', 'yyyymmdd') e ­
to_date('20060531', 'aaaammdd') &tímido;
ORDER BY FACT_UP_TIME, número_de_voo) TT) TABLE_ALIAS ­
onde TABLE_ALIAS.rowno ENTRE 10 E 20 &tímido;
&tímido;
&tímido;
--5 sintaxe alternativa. (Com o método de escrita ORDER BY) &tímido;
--(O estilo de sintaxe é diferente da sintaxe SQL tradicional, que é inconveniente de ler e entender. É um padrão unificado e não recomendado.) &tímido;
Com partdata como( ­
SELECIONE ROWNUM COMO ROWNO, TT.* FROM (Selecione * ­
de k_task T ­
onde data_do_voo entre to_date('20060501', 'yyyymmdd') e ­
to_date('20060531', 'aaaammdd') &tímido;
ORDER BY FACT_UP_TIME, voo_no) TT ­
ONDE ROWNUM <= 20) &tímido;
Selecione * em partdata onde rowno >= 10;
&tímido;
--6 sintaxe alternativa. (Sem método de escrita ORDER BY) &tímido;
Com partdata como( ­
Selecione ROWNUM COMO ROWNO, T.* &tímido;
Do K_task T&tímido;
onde Flight_date entre to_date('20060501', 'yyyymmdd') e ­
To_date('20060531', 'aaaammdd') &tímido;
E ROWNUM <= 20) &tímido;
Selecione * em partdata onde Rowno >= 10;
-