FirebirdSQL logo

ORDER BY

Par défaut, le résultat de l’instruction SELECT n’est ordonné d’aucune façon (bien que très souvent il soit ordonné dans l’ordre chronologique des lignes de la table par les instructions INSERT). La clause ORDER BY vous permet de définir l’ordre requis lors de la sélection des données.

Syntaxe
SELECT ... FROM ...
...
ORDER BY <ordering-item> [, <ordering-item> ...]

<ordering-item> ::=
  {col-name | col-alias | col-position | expression}
  [COLLATE collation-name]
  [ASC[ENDING] | DESC[ENDING]]
  [NULLS {FIRST | LAST}]
Table 1. Paramètres de la clause ORDER BY
Paramètre Description

col-name

Le nom complet de la colonne.

col-alias

Alias (nom d’emprunt) de la colonne.

col-position

Position de la colonne.

expression

Expression arbitraire.

collation-name

Nom de la collation (ordre de tri).

La clause énumère, en les séparant par des virgules, les colonnes selon lesquelles le jeu de données résultant doit être ordonné. Vous pouvez spécifier un nom de colonne, un alias attribué à la colonne dans la liste de tri à l’aide du mot-clé AS, ou le numéro de séquence de la colonne dans la liste de tri. Dans une clause, vous pouvez mélanger le formulaire d’entrée pour différentes colonnes. Par exemple, une colonne dans la liste de tri peut recevoir son nom, et une autre colonne peut recevoir son numéro de séquence.

Important

Si vous triez par position de colonne ou par alias, l’expression correspondant à cette position (alias) sera copiée de la liste de sélection SELECT. Ceci s’applique également aux sous-requêtes, donc la sous-requête sera exécutée au moins deux fois.

Note

Dans le cas d’un tri par numéro de colonne pour une requête de la forme SELECT *, le serveur expose un astérisque (*) pour définir les colonnes à trier. Cependant, utiliser cette fonctionnalité dans vos requêtes est une `mauvaise pratique'.

Direction du tri

Le mot clé ASCENDING spécifie un ordre ascendant des valeurs. L’abréviation ASC est acceptable. S’applique par défaut.

Le mot clé DESCENDING spécifie l’ordre décroissant des valeurs. L’abréviation DESC est autorisée.

Dans une clause, une colonne peut être classée par ordre croissant et une autre par ordre décroissant.

Ordre de comparaison

Le mot-clé COLLATE vous permet de définir l’ordre de tri d’une colonne de chaînes de caractères si un ordre différent de celui défini pour cette colonne est requis (soit explicitement dans la description de la colonne, soit par défaut pour le jeu de caractères correspondant).

Localisation NULL

Le mot-clé NULLS détermine si les valeurs NULL de la colonne correspondante dans le jeu de données trié seront au début de la sélection (FIRST) ou à la fin (LAST). Par défaut, NULLS FIRST est accepté.