Avec SQL SELECT TOP, vous limitez les analyses de données aux en­re­gis­tre­ments sé­lec­tion­nés dans les colonnes et les tables de votre choix. En limitant le nombre d’en­re­gis­tre­ments à afficher, vous optimisez les per­for­mances et préservez les res­sources lors de l’uti­li­sa­tion de bases de données très complexes.

Qu’est-ce que SELECT TOP en SQL ?

Lorsque vous utilisez le langage de base de données SQL, vous disposez de dif­fé­rents outils comme les commandes SQL, les fonctions et les opé­ra­teurs SQL. Selon les besoins, vous pouvez ainsi re­cher­cher, analyser, modifier ou manipuler des jeux de données. Pour les très grands ensembles de données avec des milliers d’entrées, il est par­ti­cu­liè­re­ment utile de limiter le nombre de résultats de sortie pour des requêtes efficaces. Pour cela, utilisez la commande SQL SELECT TOP.

La com­bi­nai­son de SQL SELECT avec le mot-clé TOP est une fonction qui vous permet de limiter le nombre de données de résultat à un nombre défini. De cette manière, vous réduisez les résultats aux entrées les plus per­ti­nentes et optimisez la li­si­bi­lité et la per­ti­nence de l’analyse. Notez que SQL SELECT TOP ne fonc­tionne pas dans toutes les bases de données ; il existe également les commandes al­ter­na­tives LIMIT, FETCH FIRST et ROWNUM.

Conseil

Découvrez les prin­ci­pales bases et fonctions dans notre in­tro­duc­tion à SQL avec exemples.

La syntaxe de SELECT TOP en SQL expliquée

La syntaxe simple de SELECT TOP se présente comme suit :

SELECT TOP  n colonneA, colonneB, ...
FROM  Table
sql

Ces pa­ra­mètres sont utilisés :

  • SELECT TOP : avec la commande SELECT TOP, vous dé­fi­nis­sez le nombre de résultats ainsi que les colonnes dans les­quelles vous souhaitez extraire des en­re­gis­tre­ments. Indiquez le nom de la colonne en fonction du nombre de résultats souhaités (n) ou utilisez un as­té­risque * pour sé­lec­tion­ner tous les en­re­gis­tre­ments de la table.
  • FROM : définit la table dans laquelle vous souhaitez vérifier les colonnes et les en­re­gis­tre­ments.

D’autres clauses et opé­ra­teurs fa­cul­ta­tifs vous per­met­tent de préciser les résultats de sortie :

  • WHERE : avec la clause SQL WHERE, vous dé­fi­nis­sez les con­di­tions que doivent remplir les en­re­gis­tre­ments per­ti­nents. Les résultats non per­ti­nents sont exclus.
  • ORDER BY : avec la clause SQL ORDER BY et les ins­truc­tions ASC ou DESC, vous dé­ter­mi­nez si vous souhaitez trier les résultats dans l’ordre croissant ou dé­crois­sant.

SELECT TOP en SQL : pour quelle uti­li­sa­tion l’opérateur est-il approprié ?

En principe, SQL SELECT TOP convient pour comparer des données, les analyser ou les filtrer en fonction de leur taille ou de leur quantité. Les cas d’ap­pli­ca­tion dans dif­fé­rents secteurs com­pren­nent entre autres :

  • Récupérer une sélection de clients avec le plus grand nombre de commandes
  • Filtrer les dix premières équipes ayant mené les campagnes de marketing les plus efficaces
  • Afficher les 50 premières tran­sac­tions les plus im­por­tantes pour vérifier les mou­ve­ments fi­nan­ciers suspects
  • Afficher les dix sites Web les plus consultés en un mois
  • Analyser les clients pro­met­teurs à l’aide de données dé­mo­gra­phiques, géo­gra­phiques et fi­nan­cières
  • Vérifier les stocks en ré­cu­pé­rant les dix produits dont les stocks sont les plus bas
  • Vérifier le com­por­te­ment d’achat à l’aide des produits les plus commandés ou les plus consultés
  • Dé­ter­mi­ner les facteurs de risque chez les patients sur la base de résultats d’analyses, de symptômes ou de maladies an­té­rieures per­ti­nents
  • Filtrer les four­nis­seurs ayant les délais ou les iti­né­raires de livraison les plus courts
Conseil

Découvrez des offres de serveur et d’hé­ber­ge­ment per­son­na­li­sées pour vos projets Web et vos bases de données avec l’hé­ber­ge­ment SQL de IONOS. Choi­sis­sez IONOS et comptez sur la pro­tec­tion des données selon les normes al­le­mandes.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

Exemples pratiques de SQL SELECT TOP

Pour illustrer le fonc­tion­ne­ment de SQL SELECT TOP, nous vous ex­pli­quons l’ins­truc­tion à l’aide de deux exemples d’ap­pli­ca­tion pratiques.

Afficher les dix dernières commandes

Vous souhaitez afficher uni­que­ment les dix dernières commandes dans une table « Commandes ». Procédez comme suit :

SELECT  TOP  10 *
FROM  Commandes
ORDER BY  Date de commande DESC
sql

Les sup­plé­ments tels que ORDER BY per­met­tent de trier les résultats en fonction de pa­ra­mètres possibles tels que la quantité commandée, le prix ou d’autres ca­rac­té­ris­tiques.

Trouver les clients avec le plus grand nombre de commandes

Vous souhaitez récupérer les dix premiers clients ayant passé le plus de commandes dans une table « Commandes ». Procédez comme suit :

SELECT TOP 10 Nom du client, ID du client, COUNT(*) AS Total des commandes
FROM Commandes
GROUP BY Nom du client, ID du client
ORDER BY Quantité totale des commandes DESC
sql

La fonction COUNT permet d’ad­di­tion­ner toutes les commandes de clients avec le nom et l’ID client cor­res­pon­dants, afin d’attribuer des commandes fré­quentes sur cette base.

Al­ter­na­tives à SQL SELECT TOP

Selon le système que vous utilisez pour vos bases de données, il peut être né­ces­saire d’utiliser une ins­truc­tion al­ter­na­tive pour limiter les résultats. Vérifiez donc si votre système de base de données supporte SQL SELECT TOP ou une autre fonction. Pour une meilleure vue d’ensemble, nous vous pré­sen­tons une liste de SQL SELECT TOP et des al­ter­na­tives selon les dif­fé­rents systèmes de gestion de base de données (SGBD) :

Fonction SQL SGBD Ca­rac­té­ris­tique
SELECT TOP Serveur SQL Limite les résultats à n
LIMIT MySQL Limite les résultats à n
ROWNUM ou ROWS Oracle Définit le nombre de lignes de résultats
OFFSET + FETCH Oracle, MySQL Com­plè­tent la clause ORDER BY et dé­fi­nis­sent le nombre d’en­re­gis­tre­ments dans les résultats
FETCH FIRST n ROWS ONLY Oracle Limite le nombre de lignes de résultats à n
Aller au menu principal