Maison >base de données >tutoriel mysql >Comment puis-je utiliser efficacement ROWNUM pour la pagination dans les requêtes Oracle SQL ?
Maîtriser ROWNUM pour la pagination Oracle SQL
Ce guide clarifie l'utilisation efficace de ROWNUM pour la pagination dans les requêtes Oracle SQL. Nous aborderons les pièges courants et démontrerons les meilleures pratiques.
*Pourquoi `SELECT FROM Person WHERE rownum > 100 ET numéro de rangée &Lt ; 200` Échec**
L'affectation ROWNUM a lieu après le filtrage des prédicats mais avant le tri ou l'agrégation. Étant donné que ROWNUM est incrémenté séquentiellement après affectation, une condition comme rownum > 1
renverra toujours un ensemble vide. La première ligne reçoit ROWNUM = 1, et la condition n'est jamais remplie.
Les limites de SELECT ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound
Les versions Oracle antérieures à 12c ne prennent pas en charge cette BETWEEN
approche directe pour la pagination. Cependant, Oracle 12c et les versions ultérieures offrent une syntaxe OFFSET ... FETCH
supérieure (par exemple, SELECT ... FROM ... OFFSET 4 ROWS FETCH NEXT 4 ROWS ONLY
).
Suppression de la colonne ROWNUM
Pour éviter d'afficher la colonne ROWNUM, répertoriez explicitement les colonnes souhaitées dans votre instruction SELECT
au lieu d'utiliser SELECT *
. Pour des besoins moins fréquents, la commande SQL*Plus NOPRINT
peut masquer temporairement les colonnes indésirables.
Garantir une pagination précise avec ROWNUM
Correctement implémenté, ROWNUM fournit une pagination précise. La clé est d'abord ORDER BY
vos données selon la séquence souhaitée, puis d'utiliser ROWNUM pour sélectionner un sous-ensemble spécifique de lignes. Cette caractéristique d'affectation séquentielle de ROWNUM nécessite l'étape de commande.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!