Accueil du site > Les articles > Les tris ( order by ) en SQL
Version à imprimer Enregistrer au format PDF

Les tris ( order by ) en SQL

jeudi 22 décembre 2005, par David Malle Visites  3567

Quelles sont les possibilités de tris en sql. Certaines techniques peuvent êtres très pratiques.


Ordre croissant ou décroissant

A la suite de la donnée sur laquelle le tri doit être fait :

- Préciser le mot clé ASC pour un ordre croissant (il s’agit du tri par défaut, si rien n’est précisé).
- Préciser le mot clé DESC pour un ordre décroissant.

Par exemple la requête suivante liste les commandes dans l’ordre inverse de leur numéros.

SELECT NUM_COMMANDE ,
      LIB_COMMANDE
 FROM COMMANDES
ORDER BY                          
 NUM_COMMANDE DESC

Tris ( order by ) conditionnels

Un moyen pratique pour trier une liste sur une valeur, tout en plaçant en priorité certaines de ses valeurs.

La requête sql suivante permet de lister les commandes par numéro de vendeur, en plaçant en début de liste les vendeurs numéros 100 et 105.

SELECT NUM_VENDEUR  ,
      NUM_COMMANDE ,
      LIB_COMMANDE
 FROM COMMANDES
ORDER BY                          
 CASE NUM_VENDEUR
 WHEN 100 THEN 0
 WHEN 105 THEN 1
 ELSE 3
 END ,
 NUM_VENDEUR ,
 NUM_COMMANDE

Tris sans tenir compte de la casse

Lors de l’exécution d’un programme, modifier l’option d’exécution en y ajoutant l’instruction suivante :

C/EXEC SQL                      
C+   SET OPTION SRTSEQ=*LANGIDSHR
C/END-EXEC

En SQL interactif :

- presser la touche F13.
- sélectionner l’option 1 (Modification des attributs de session).
- paginer une fois.
- indiquer *LANGIDSHR dans Séquence de tri