0Pricing
SQL Academy · Leçon

ORDER BY sur une ou plusieurs colonnes

Triez les résultats par ordre croissant ou décroissant, triez selon plusieurs colonnes et contrôlez la position des NULL avec NULLS FIRST / NULLS LAST.

ORDER BY sur une ou plusieurs colonnes est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.

Pourquoi utiliser ORDER BY

Une table SQL est un ensemble non ordonné. Sans ORDER BY, la base de données peut renvoyer les lignes dans n’importe quel ordre — et cet ordre peut changer d’une exécution à l’autre. Si l’ordre compte dans votre interface ou votre rapport, triez explicitement.

Trier selon une colonne

Le tri par défaut est croissant :

SELECT id, email FROM users ORDER BY created_at;       -- oldest first
SELECT id, email FROM users ORDER BY created_at ASC;
SELECT id, email FROM users ORDER BY created_at DESC;  -- newest first

Trier selon plusieurs colonnes

Indiquez les colonnes par ordre de priorité. La deuxième colonne départage les égalités sur la première :

SELECT first_name, last_name, age
FROM users
ORDER BY last_name ASC, first_name ASC, age DESC;

Trier selon une expression

Vous pouvez trier selon n’importe quelle expression :

SELECT email, full_name
FROM users
ORDER BY LENGTH(email) DESC, email ASC;

Trier selon un alias ou une position

Vous pouvez faire référence à un alias de la liste SELECT ou à sa position, indexée à partir de 1 :

SELECT id, total * 0.9 AS discounted
FROM orders
ORDER BY discounted DESC;     -- by alias

SELECT id, total
FROM orders
ORDER BY 2 DESC;               -- by position (avoid in code — fragile)

NULLS FIRST / NULLS LAST

Contrôlez la position des NULL :

-- Default: NULLs LAST when ASC, FIRST when DESC
SELECT * FROM users ORDER BY last_login_at DESC NULLS LAST;
SELECT * FROM users ORDER BY last_login_at ASC  NULLS FIRST;

Tris stables et critères de départage

Si plusieurs lignes ont la même valeur de tri, la base de données peut les renvoyer dans n’importe quel ordre. Ajoutez la clé primaire comme critère de départage pour obtenir des résultats déterministes :

SELECT * FROM orders
ORDER BY created_at DESC, id DESC;

ORDER BY et index

Si un index existe sur la ou les colonnes de ORDER BY, la base de données peut lire les lignes dans l’ordre sans étape de tri.

-- With index on created_at DESC, this can use the index directly:
SELECT * FROM events ORDER BY created_at DESC LIMIT 100;

CASE dans ORDER BY

Tri personnalisé avec CASE :

-- Show priority orders first:
SELECT * FROM orders
ORDER BY
  CASE status
    WHEN 'urgent'   THEN 0
    WHEN 'normal'   THEN 1
    ELSE 2
  END,
  created_at DESC;

ORDER BY s’exécute après WHERE

ORDER BY s’applique au résultat de WHERE/GROUP BY/HAVING. Le filtrage a lieu en premier, puis le tri.

Ne triez pas d’énormes tables sans LIMIT

Trier un résultat d’un milliard de lignes est coûteux. Si vous n’avez besoin que des N premiers résultats, ajoutez LIMIT — le planificateur peut passer à une stratégie des N premiers résultats.

SELECT * FROM events ORDER BY created_at DESC LIMIT 50;

Récapitulatif

ORDER BY rend les résultats déterministes.

  • ASC / DESC pour chaque colonne
  • Plusieurs colonnes pour départager les égalités
  • NULLS FIRST / LAST lorsque c’est pertinent
  • Associez toujours LIMIT aux tris volumineux

Vérification rapide

Quelle est la direction de tri par défaut en SQL ?

Questions Fréquemment Posées

La leçon « ORDER BY sur une ou plusieurs colonnes » est-elle gratuite ?

Oui — le texte complet de « ORDER BY sur une ou plusieurs colonnes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « ORDER BY sur une ou plusieurs colonnes » ?

Triez les résultats par ordre croissant ou décroissant, triez selon plusieurs colonnes et contrôlez la position des NULL avec NULLS FIRST / NULLS LAST. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer SQL Academy ?

Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « ORDER BY sur une ou plusieurs colonnes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?

Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Sélectionner des colonnes et des expressions
  2. Filtres WHERE : opérateurs de comparaison et de logique
  3. ORDER BY sur une ou plusieurs colonnes
  4. LIMIT, OFFSET et bases de la pagination
← Retour à SQL Academy