Clause SQL ORDER BY avec 7 exemples (2024)

Apprenez à connaître la clause SQL ORDER BY ! Nos exemples pratiques et simples vous aideront à comprendre sa syntaxe, ses utilisations courantes et ses meilleures pratiques.

Le langageSQL ou langage de requête structuré vous permet de "parler" à une base de données. Il vous permet de créer, d'extraire et de manipuler les données d'une base de données relationnelle. Ce langage est devenu tellement omniprésent qu'il n'a épargné pratiquement aucun domaine lié aux données.

Si vous vous intéressez à la clause SQL ORDER BY, je suppose que vous avez déjà commencé à apprendre SQL ou que vous envisagez de le faire prochainement. Cette clause est utilisée pour trier les résultats dans un ordre donné. Dans cet article, nous allons aborder quelques exemples pratiques pour démontrer son utilisation. Si vous n'êtes pas déjà familiarisé avec les principes fondamentaux des requêtes SQL, je vous recommande de suivre notre SQL pour les débutants cours.

Plongeons directement dans la clause SQL ORDER BY.

Qu'est-ce que la clause SQL ORDER BY ?

Comme nous l'avons déjà dit, la clause SQL ORDER BY est utilisée pour classer les résultats d'une requête dans un ordre particulier. Supposons que vous soyez un professeur d'université et que vous souhaitiez imprimer une liste des étudiants inscrits à votre cours par ordre alphabétique. Si ces informations sont stockées dans une base de données, une simple requête vous permettra d'obtenir les résultats.

D'après mon expérience, ORDER BY est l'une des constructions SQL les plus utiles ; presque tous les rapports et analyses y ont recours.

Permettez-moi de vous présenter un exemple qui explique comment écrire une requête simple à l'aide de ORDER BY.

Exemple 1 : ORDER BY à l'aide d'une colonne numérique

Imaginez que vous travaillez en tant que responsable des ventes dans une entreprise. La base de données de votre entreprise stocke les données de vente de chaque vendeur dans la table suivante, appelée sales_performance:

sales_person_idnameterritorytotal_sales_valuejoining_date
2333GregorioBavaria1922021-Sep-2021
4323AaronLondon32000010-Jan-2018
1113SebastianLondon3243331-Oct-2020
4134PierreParis2121401-Aug-2020

Imaginons maintenant que vous souhaitiez récupérer cette liste de vendeurs. Vous voulez qu'ils soient listés par leur numéro d'identification dans l'ordre croissant (c'est-à-dire du plus petit au plus grand, de A à Z, etc.). Votre requête ressemblera à quelque chose comme ceci :

SELECT * FROM sales_performanceORDER BY sales_person_id;

Sortie :

sales_person_idnameterritorytotal_sales_valuejoining_date
1113SebastianLondon3243331-Oct-2020
2333GregorioBavaria1922021-Sep-2021
4134PierreParis2121401-Aug-2020
4323AaronLondon32000010-Jan-2018

La requête fonctionne en retournant tous les enregistrements et toutes les colonnes de la table sales_performance puis organise les résultats en fonction de l'ordre numérique de la colonne sales_person_id.

Il est important de noter que ORDER BY trie par défaut dans l'ordre croissant. Vous pouvez utiliser le mot-clé ASC pour indiquer que vous souhaitez obtenir les résultats dans l'ordre croissant, mais vous n'êtes pas obligé de l'inclure. Dans un champ contenant des nombres, l'ordre croissant place le plus petit nombre en premier, suivi du plus petit suivant, et ainsi de suite. Le plus grand nombre vient en dernier.

Exemple 2 : ORDER BY à l'aide d'une colonne de texte

Vous pouvez également utiliser la même clause pour trier les valeurs d'une colonne par ordre alphabétique. Par exemple, supposons que vous souhaitiez obtenir une liste de vendeurs classés par leur prénom. Voici la requête :

SELECT * FROM sales_performanceORDER BY name;

Sortie :

sales_person_idnameterritorytotal_sales_valuejoining_date
4323AaronLondon32000010-Jan-2018
2333GregorioBavaria1922021-Sep-2021
4134PierreParis2121401-Aug-2020
1113SebastianLondon3243331-Oct-2020

Les enregistrements sont maintenant triés par ordre alphabétique selon l'adresse name. Par ordre croissant, cela signifie que les noms sont classés par ordre alphabétique de A à Z.

Exemple 3 : ORDER BY en utilisant une colonne de date

Vous pouvez également trier les résultats par une colonne de date comme joining_date. Dans le cas de la colonne de date, la requête par défaut renvoie les enregistrements de la date la plus ancienne à la plus récente :

SELECT * FROM sales_performanceORDER BY joining_date;

Sortie :

sales_person_idnameterritorytotal_sales_valuejoining_date
4323AaronLondon32000010-Jan-2018
4134PierreParis2121401-Aug-2020
1113SebastianLondon3243331-Oct-2020
2333GregorioBavaria1922021-Sep-2021

Ici, les résultats sont classés par joining_date, de la plus ancienne à la plus récente.

Exemple 4 : Classem*nt par ordre décroissant

Jusqu'à présent, tous les enregistrements ont été triés par ordre croissant. Cependant, vous pouvez classer les enregistrements par ordre décroissant - il suffit d'écrire le mot-clé DESC après le nom de la colonne.

Par exemple, disons que vous voulez classer cette liste par valeur totale des ventes réalisées par chaque vendeur. Vous voulez voir le plus grand nombre (c'est-à-dire les ventes les plus élevées) en premier, vous devrez donc trier par ordre décroissant. Essayons la requête suivante :

SELECT * FROM sales_performanceORDER BY total_sales_value DESC;

Sortie :

sales_person_idnameterritorytotal_sales_valuejoining_date
4323AaronLondon32000010-Jan-2018
1113SebastianLondon3243331-Oct-2020
4134PierreParis2121401-Aug-2020
2333GregorioBavaria1922021-Sep-2021

Les résultats sont triés par ordre décroissant (10-1) en fonction de la valeur totale des ventes. Vous pouvez également effectuer cette opération avec des valeurs de texte ou de date ; dans ce cas, les résultats seront classés de Z à A (texte) ou du plus récent au plus ancien (date).

Les mots-clés DESC ou ASC peuvent être utilisés si nécessaire. Si vous omettez le mot-clé, les résultats seront classés par ordre croissant.

Exemple 5 : ORDER BY en utilisant un numéro de colonne

Vous pouvez également référencer une colonne en utilisant une référence numérique basée sur l'ordre des colonnes dans le tableau. En d'autres termes, vous utilisez un numéro à la place du nom de la colonne. Jetez un coup d'œil à l'exemple suivant pour plus de clarté :

SELECT sales_person_id, name FROM sales_performanceORDER BY 2;

Sortie :

sales_person_idname
4323Aaron
2333Gregorio
4134Pierre
1113Sebastian

Le nom de la colonne est la deuxième colonne de notre tableau. Nous voulons ordonner les valeurs renvoyées par la requête en fonction du nom du commercial, mais au lieu d'écrire nom après ORDER BY, nous avons écrit 2.

Remarque : cette approche est uniquement recommandée pour les requêtes interactives. Elle n'est pas recommandée pour l'écriture de scripts, car les requêtes comportant des chiffres dans ORDER BY sont difficiles à gérer.

Exemple 6 : Tri de plusieurs colonnes

Lorsque vous écrivez des requêtes réelles, vos exigences sont rarement aussi simples que les exemples que nous avons utilisés ; vous pouvez avoir à trier vos valeurs sur la base de plusieurs colonnes.

La clause ORDER BY vous permet de le faire en spécifiant une liste de colonnes ; il suffit de séparer les noms des colonnes par des virgules. Vous pouvez utiliser les mots-clés ASC ou DESC (si vous le souhaitez) avec chaque colonne pour trier cette colonne dans l'ordre croissant ou décroissant.

Disons que vous devez afficher les enregistrements de la table dans l'ordre décroissant de territory, puis par nom de vendeur. Votre requête ressemblera à quelque chose comme ceci.

SELECT * FROM sales_performanceORDER BY territory DESC, name ASC;

Résultat :

sales_person_idnameterritorytotal_sales_valuejoining_date
4134PierreParis2121401-Aug-2020
4323AaronLondon32000010-Jan-2018
1113SebastianLondon3243331-Oct-2020
2333GregorioBavaria1922021-Sep-2021

Vous remarquerez dans le résultat que la colonne territory est classée par ordre alphabétique inverse (c'est-à-dire par ordre décroissant). Pour le territoire de Londres, les enregistrements sont présentés dans l'ordre alphabétique du nom.

Exemple 7 : Utilisation de ORDER BY avec des expressions

Vous pouvez également trier en fonction d'autres critères que le nom des colonnes ; SQL vous permet d'utiliser des expressions pour trier des valeurs. Par exemple, disons que vous voulez trier en concaténant territory et name dans l'ordre croissant. Voici la requête :

SELECT *FROM sales_performanceORDER BY CONCAT(territory, name);

Sortie :

sales_person_idnameterritorytotal_sales_valuejoining_date
2333GregorioBavaria1922021-Sep-2021
4323AaronLondon32000010-Jan-2018
1113SebastianLondon3243331-Oct-2020
4134PierreParis2121401-Aug-2020

Ici les enregistrements sont ordonnés par une concaténation de territory et name. Ainsi Bavaria et Gregorio deviennent les premiers dans l'ordre alphabétique et Paris Pierre est le dernier.

Vous pouvez utiliser CASE dans ORDER BY pour produire des classem*nts vraiment précis.

Vous voulez vous entraîner à utiliser ORDER BY en SQL ?

J'espère que ces exemples ont clairement démontré l'utilisation de la clause ORDER BY. Le tri des données est un besoin essentiel dans la plupart des vues et des rapports, d'où l'importance de maîtriser l'utilisation de ORDER BY. Et la clé pour devenir bon dans la rédaction de requêtes est la pratique !

Plus vous écrirez de requêtes pour différents cas d'utilisation, plus l'écriture de requêtes deviendra intuitive. Si vous êtes à la recherche d'exercices pratiques SQL, jetez un coup d'œil à notre site Web interactif. Exercices Pratiques de SQL. Il propose 88 exercices interactifs allant du plus simple au plus avancé.

Et si vous recherchez une expérience d'apprentissage complète, notre parcours Le SQL de A à Z est fait pour vous. Elle propose 7 cours interactifs et vous mettra sur la voie de compétences SQL de niveau professionnel. Vous pouvez également consulter cet article sur les différentes manières d'apprendre SQL.

Bonne chance et bon apprentissage !

Clause SQL ORDER BY avec 7 exemples (2024)
Top Articles
So, Bitcoin Halving Is Done. What Happened and What's Next?
What is the role of the financial system? | Homework.Study.com
Spasa Parish
Rentals for rent in Maastricht
159R Bus Schedule Pdf
Sallisaw Bin Store
Black Adam Showtimes Near Maya Cinemas Delano
Espn Transfer Portal Basketball
Pollen Levels Richmond
11 Best Sites Like The Chive For Funny Pictures and Memes
Finger Lakes 1 Police Beat
Craigslist Pets Huntsville Alabama
Paulette Goddard | American Actress, Modern Times, Charlie Chaplin
Red Dead Redemption 2 Legendary Fish Locations Guide (“A Fisher of Fish”)
What's the Difference Between Halal and Haram Meat & Food?
R/Skinwalker
Rugged Gentleman Barber Shop Martinsburg Wv
Jennifer Lenzini Leaving Ktiv
Justified - Streams, Episodenguide und News zur Serie
Epay. Medstarhealth.org
Olde Kegg Bar & Grill Portage Menu
Cubilabras
Half Inning In Which The Home Team Bats Crossword
Four-Legged Friday: Meet Tuscaloosa's Adoptable All-Stars Cub & Pickle
Model Center Jasmin
Ice Dodo Unblocked 76
Is Slatt Offensive
Labcorp Locations Near Me
Storm Prediction Center Convective Outlook
Experience the Convenience of Po Box 790010 St Louis Mo
Fungal Symbiote Terraria
modelo julia - PLAYBOARD
Poker News Views Gossip
Abby's Caribbean Cafe
Joanna Gaines Reveals Who Bought the 'Fixer Upper' Lake House and Her Favorite Features of the Milestone Project
Tri-State Dog Racing Results
Navy Qrs Supervisor Answers
Trade Chart Dave Richard
Lincoln Financial Field Section 110
Free Stuff Craigslist Roanoke Va
Wi Dept Of Regulation & Licensing
Pick N Pull Near Me [Locator Map + Guide + FAQ]
Crystal Westbrooks Nipple
Ice Hockey Dboard
Über 60 Prozent Rabatt auf E-Bikes: Aldi reduziert sämtliche Pedelecs stark im Preis - nur noch für kurze Zeit
Wie blocke ich einen Bot aus Boardman/USA - sellerforum.de
Infinity Pool Showtimes Near Maya Cinemas Bakersfield
Dermpathdiagnostics Com Pay Invoice
How To Use Price Chopper Points At Quiktrip
Maria Butina Bikini
Busted Newspaper Zapata Tx
Latest Posts
Article information

Author: Van Hayes

Last Updated:

Views: 5947

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Van Hayes

Birthday: 1994-06-07

Address: 2004 Kling Rapid, New Destiny, MT 64658-2367

Phone: +512425013758

Job: National Farming Director

Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography

Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.