ROW_NUMBER en SQL – Exemple de sélection supérieure en SQL et SQL Server

SQL, ou langage de requête structuré, nous permet de rassembler des données à partir d’une base de données par le biais de requêtes. Il nous permet également d’insérer, de mettre à jour et de supprimer ces données.

Dans cet article de blog, nous allons nous concentrer sur la façon d’extraire des données et de limiter les résultats à l’aide de SQL.

Pourquoi faut-il limiter les résultats des requêtes SQL ?

Une base de données est généralement une énorme collection de données. Parfois, nous n’avons pas besoin d’extraire tous les résultats. Pour limiter les résultats, nous pouvons optimiser la requête.

La limitation des résultats des requêtes est importante pour les performances de la base de données. L’extraction d’un résultat important lorsqu’il n’est pas nécessaire entraîne une charge supplémentaire pour la base de données et a un impact sur l’expérience de l’utilisateur.

Comment limiter les résultats d’une requête en SQL

La syntaxe est différente pour SQL Server, Oracle et MySQL pour limiter les données.

  • MySQL utilise LIMIT.
  • ORACLE utilise FETCH FIRST.
  • MS Access et SQL Server utilisent TOP.

Nous verrons ci-dessous des exemples détaillés du fonctionnement de chacun d’eux.

Base de données de démonstration

Nous avons la table suivante nommée étudiants avec leurs détails comme vous pouvez le voir ci-dessous :

Voir aussi :  Comment supprimer une rangée en SQL - Exemple de requête
IDNomSexe
1RyanM
2JoannaF
3Miranda AndersenF
4Dalia MataF
5Lilianna BoydF
6Lexie SharpM
7Jazlene CordovaF
8Brycen WernerM
9Karissa TurnerF
10Aisha DodsonF
11Aydin ReevesM

Comment limiter une requête dans MySQL

Voici la syntaxe pour MySQL.

SELECT (expression)
FROM 
    nom_table
LIMITE 5 ;

À titre d’exemple, nous allons sélectionner les 5 premiers enregistrements de la table.

Utilisons notre table étudiants pour cette démonstration.

-- Récupérer les 5 premières valeurs de la table

SELECT * FROM étudiants
LIMITE 5 ;

Sortie :

image-7

Comment combiner LIMIT et ORDER BY

Lorsque vous combinez LIMIT avec ORDER BY, vous pouvez obtenir des résultats plus significatifs. Par exemple, nous pouvons utiliser cette méthode pour trouver les 5 meilleurs étudiants ayant obtenu une note supérieure à 70 % à leur examen.

Ordonnons notre tableau étudiants avec le nom de la colonne et choisissons les 5 premiers dans le résultat. Vous pouvez le faire comme suit :

SELECT * FROM students
ordonné par nom
LIMITE 5 ;

Sortie :

image-13

Comment limiter les résultats – Syntaxe Oracle

Voici la syntaxe équivalente pour notre premier exemple dans Oracle.

SELECT * FROM étudiants
RÉCUPÉRER LES 5 PREMIÈRES LIGNES SEULEMENT ;

Dans les anciennes versions d’Oracle, vous pouvez utiliser ROWNUM pour limiter le nombre de lignes renvoyées par une requête.

Exemple :

SELECT * FROM 
étudiants 
OÙ ROWNUM < 5 ;

Comment limiter les résultats en SQL – Syntaxe MS Access

Voici la syntaxe équivalente de notre premier exemple en MS Access.

SELECT TOP 5 * FROM students ;

Conclusion

La fonctionnalité LIMIT peut être très puissante pour l’optimisation des requêtes lorsqu’elle est combinée au tri. Les requêtes efficaces sont plus légères pour le système et plus rapides pour l’utilisateur. Il est toujours recommandé de LIMITER les résultats lorsque cela est possible.

Voir aussi :  Comptage SQL - Comment sélectionner, additionner et calculer la moyenne des lignes en SQL