Outils pour utilisateurs

Outils du site


cours:informatique:dev:db:postgres:fondamentaux_postgresql:120_instruction_order_by

PostgreSQL clause ORDER BY

Notes et traduction du tutoriel PostgreSQL Tutorial

L'instruction SELECT retourne les données sans ordre spécifique. Pour trier les enregistrements de l'ensemble résultat on utilise la clause ORDER BY.

SELECT
  select_list
FROM
  TABLE_NAME
ORDER BY
  sort_expression1 [ASC | DESC],
  sort_expression2 [ASC | DESC],
  ...;
  • “sort_expression” peut être une colonne ou une expression à trier. Pour trier un l'ensemble résultat basé sur plusieurs colonnes ou expression, il faut les séparés par une virgule ,.
  • On utilise l'option ASC (croissant) ou DESC (décroissant) pour spécifier l'ordre de tri. par défaut le tri est croissant.

PostgreSQL évalue la clause ORDER BY comme suit :

Du fait de l'ordre d'évaluation, si un alias existe dans la clause SELECT ou FROM, il peut être utilisé dans la clause ORDER BY.

SELECT
  first_name,
  last_name
FROM
  customer
ORDER BY
  first_name ASC;

Trier les expressions

La fonction LENGTH() accepte une chaine et retourne la longueur de celle-ci.

SELECT
  first_name,
  LENGTH(first_name) AS len
FROM
  customer
ORDER BY
  len DESC;

Comme la clause ORDER BY est évaluée après la clause SELECT, l'alias len existe et peut être utilisé dans la clause ORDER BY.

ORDER BY et NULL

Pour le SGBD, NULL est un marqueur indiquant que les données sont manquantes ou inconnues. Lorsque l'on tri des enregistrements contenant des valeurs à NULL, on peut définir comment les ordonner par rapport aux données définies via les options NULLS FIRST et NULLS LAST.

Résumé

  • Utiliser la clause ORDER BY pour trier les enregistrements résultant d'une instruction SELECT ;
  • Utiliser l'option ASC pour trier par ordre croissant et DESC pour trier par ordre décroissant ;
  • ORDER BY utilise l'option ASC par défaut ;
  • Utiliser NULLS FIRST et NULLS LAST pour spécifier comment ordonner les valeurs indéfinies.

◁ Précédent | ⌂ Retour au sommaire | Suivant ▷

cours/informatique/dev/db/postgres/fondamentaux_postgresql/120_instruction_order_by.txt · Dernière modification : 2025/04/05 11:34 de yoann