Les mots-clés first
et next
tel qu'utilisé dans le fetch
clause sont des substituts parfaits l'un pour l'autre, ils peuvent être utilisés de manière interchangeable - cela est clairement indiqué dans la documentation. Donc, vous n'avez vraiment que deux requêtes là-bas, pas trois. (Les deux premiers sont vraiment identiques.)
La première requête est plus facile à écrire et à gérer que la dernière requête. D'autre part, il n'est disponible que dans Oracle 12.1 et versions ultérieures; dans Oracle 11.2 et versions antérieures, la seule option est votre dernière requête.
Le fetch
La clause est plus flexible, par exemple elle vous permet de spécifier with ties
(pour inclure plus de 5 lignes si les lignes avec rownum 4, 5, 6 et 7 sont liées sur le order by
critères, par exemple).