Mysql
 sql >> Base de données >  >> RDS >> Mysql

ROW_NUMBER dans SQL - Sélectionnez le meilleur exemple dans SQL et SQL Server

SQL, ou langage de requête structuré, nous permet de collecter des données à partir d'une base de données via des requêtes. Cela nous permet également d'insérer, de mettre à jour et de supprimer ces données.

Dans cet article de blog, nous nous concentrerons sur la façon de récupérer des données et de limiter les résultats à l'aide de SQL.

Pourquoi devriez-vous 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 de récupérer tous les résultats. Pour limiter les résultats, nous pouvons optimiser la requête.

La limitation des résultats de requête est importante pour les performances de la base de données. La récupération d'un résultat volumineux alors qu'il n'est pas nécessaire entraîne une charge supplémentaire sur la base de données et a un impact sur l'expérience utilisateur.

Comment limiter les résultats des requêtes 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 des exemples de la façon dont chacun fonctionne en détail ci-dessous.

Base de données de démonstration

Nous avons le tableau suivant nommé students avec leurs détails comme vous pouvez le voir ci-dessous :

identifiant Nom Sexe
1 Ryan M
2 Joanna F
3 Miranda Andersen F
4 Dalia Mata F
5 Lilianna Boyd F
6 Lexie Sharp M
7 Jazlene Cordoue F
8 Brycen Werner M
9 Karissa Turner F
10 Aisha Dodson F
11 Aydin Reeves M

Comment limiter une requête dans MySQL

Vous trouverez ci-dessous la syntaxe de MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Par exemple, nous sélectionnerons les 5 premiers enregistrements de la table.

Utilisons notre table students pour cette démonstration.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Sortie :

Comment combiner LIMIT avec ORDER BY

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

Commandons notre table students avec la colonne name et choisissez le top 5 du résultat. Vous pouvez le faire comme ceci :

SELECT * FROM students
order by name
LIMIT 5;

Sortie :

Comment limiter les résultats – syntaxe Oracle

Vous trouverez ci-dessous la syntaxe équivalente pour notre premier exemple dans Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

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 
students 
WHERE ROWNUM < 5;

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

Vous trouverez ci-dessous la syntaxe équivalente pour notre premier exemple dans 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 avec le tri. Les requêtes efficaces sont plus légères pour le système et rapides pour l'utilisateur. Il est toujours recommandé de LIMITER les résultats le cas échéant.