Tutoriel SQL : La clause ORDER BY

Comprendre la Clause ORDER BY

La clause ORDER BY est utilisée pour trier les résultats d'une requête SQL selon un ou plusieurs critères. Par défaut, les résultats sont triés en ordre croissant.

SELECT colonne1, colonne2
FROM table
ORDER BY colonne1 [ASC|DESC], colonne2 [ASC|DESC];

Les mots-clés suivants sont utilisés dans la clause ORDER BY :

  • SELECT : Utilisé pour sélectionner des colonnes spécifiques d'une table.
  • FROM : Spécifie la table d'où les données sont extraites.
  • ORDER BY : Indique que les résultats doivent être triés selon les colonnes spécifiées.
  • ASC : Ordre croissant (par défaut).
  • DESC : Ordre décroissant.

Contexte des Données

Nous allons travailler avec une base de données fictive qui contient des informations sur des produits commercialisés en Afrique et les pays où ces produits sont disponibles.

Table PRODUITS

refProduit nomProduit
1 Café
2 Cacao
3 Thé

Table PAYS

codePays nomPays
NG Nigéria
CM Cameroun
KE Kenya

Table COMMERCIALISER

refProduit codePays
1 NG
2 CM
3 KE
1 KE

Exemples d'Utilisation de `ORDER BY`

Exemple 1 : Trier par nom de produit

Pour trier les produits par ordre alphabétique croissant :

SELECT nomProduit
FROM PRODUITS
ORDER BY nomProduit ASC;

Résultat :

nomProduit
Cacao
Café
Thé

Exemple 2 : Trier par pays en ordre décroissant

Pour afficher les pays par ordre alphabétique décroissant :

SELECT nomPays
FROM PAYS
ORDER BY nomPays DESC;

Résultat :

nomPays
Nigéria
Kenya
Cameroun

Exemple 3 : Trier les associations produit-pays

Pour afficher les produits avec les pays associés, triés par référence produit puis par code pays :

SELECT refProduit, codePays
FROM COMMERCIALISER
ORDER BY refProduit ASC, codePays ASC;

Résultat :

refProduit codePays
1 KE
1 NG
2 CM
3 KE

Notions Avancées

Utilisation combinée de ASC et DESC

Il est possible de combiner les ordres croissants et décroissants pour plusieurs colonnes. Par exemple, vous pouvez trier d'abord par une colonne en ordre décroissant et ensuite par une autre colonne en ordre croissant.

Exemple : Trier les produits par référence croissante puis par nom décroissant

Pour trier les produits par refProduit en ordre croissant et par nomProduit en ordre décroissant :

SELECT refProduit, nomProduit
FROM PRODUITS
ORDER BY refProduit ASC, nomProduit DESC;

Résultat :

refProduit nomProduit
1 Café
2 Cacao
3 Thé

Mini-Exercice

Complétez les requêtes SQL suivantes en utilisant les tables fournies et vérifier les résultas fournis  :

Question 1 : Trier les produits par référence croissante et par nom décroissant

Complétez la requête pour afficher les produits triés par refProduit en ordre croissant et par nomProduit en ordre décroissant :

SELECT refProduit, nomProduit
FROM PRODUITS
ORDER BY refProduit ASC, nomProduit _____;

Verifer aussi le Résultat :

refProduit nomProduit
1 Café
2 Cacao
3 Thé

Question 2 : Trier les pays par code en ordre décroissant puis par nom en ordre croissant

Complétez la requête pour afficher les pays triés par codePays en ordre décroissant et par nomPays en ordre croissant :

SELECT codePays, nomPays
FROM PAYS
ORDER BY codePays _____, nomPays _____;

Verifer aussi le Résultat :

codePays nomPays
NG Nigéria
KE Kenya
CM Cameroun

Question 3 : Trier les associations produit-pays par pays en ordre croissant et par produit en ordre décroissant

Complétez la requête pour afficher les associations triées par codePays en ordre croissant et par refProduit en ordre décroissant :

SELECT refProduit, codePays
FROM COMMERCIALISER
ORDER BY codePays _____, refProduit _____;

Verifer aussi le Résultat :

refProduit codePays
1 KE
1 NG
2 CM
3 KE
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam