As palavras-chave
first
e next
conforme usado na fetch
cláusula são substitutos perfeitos um para o outro, eles podem ser usados de forma intercambiável - isso é declarado claramente na documentação. Então você realmente só tem duas consultas, não três. (Os dois primeiros são realmente idênticos.) A primeira consulta é mais fácil de escrever e manter do que a última consulta. Por outro lado, está disponível apenas no Oracle 12.1 e versões posteriores; no Oracle 11.2 e anteriores, a única opção é sua última consulta.
A
fetch
cláusula é mais flexível, por exemplo, permite que você especifique with ties
(para incluir mais de 5 linhas se as linhas com rownum 4, 5, 6 e 7 estiverem vinculadas ao order by
critérios, por exemplo).