Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

Clause ORDER BY de MySQL

La clause `ORDER BY` de MySQL est utilisée pour trier le résultat d'une requête par une ou plusieurs colonnes. Il permet de trier les données par ordre croissant ou décroissant, ce qui peut aider à organiser les données de manière pertinente.

Utilisation

La clause "ORDER BY" est appliquée à la fin d'une instruction "SELECT" pour trier les données extraites. Vous pouvez spécifier l'ordre croissant en utilisant `ASC` (par défaut) ou l'ordre décroissant en utilisant `DESC`.

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Dans cette syntaxe, `ORDER BY column1` trie le résultat sur la base de `column1`, et les colonnes suivantes peuvent être ajoutées pour un tri secondaire.

Exemples

1. Tri de base

SELECT * 
FROM products
ORDER BY price;

Cet exemple trie par défaut le tableau `produits` par la colonne `prix` dans l'ordre croissant.

2. Ordre décroissant

SELECT first_name, last_name
FROM employees
ORDER BY last_name DESC;

Ici, le tableau `employees` est trié par `last_name` dans l'ordre décroissant, ce qui est utile pour inverser l'ordre alphabétique.

3. Tri sur plusieurs colonnes

SELECT first_name, last_name, department
FROM employees
ORDER BY department ASC, last_name DESC;

Cet exemple trie le tableau `employees` d'abord par `département` dans l'ordre croissant, puis par `last_name` dans l'ordre décroissant à l'intérieur de chaque groupe de départements.

4. Tri par expressions

SELECT product_name, price, quantity, (price * quantity) AS total_value
FROM products
ORDER BY total_value DESC;

Dans cet exemple, le tableau `products` est trié par un champ calculé `total_value`, qui est une expression créée à l'aide d'un alias.

Conseils et bonnes pratiques

  • Utilisez des index de colonnes. Le tri est plus efficace sur les colonnes indexées, ce qui réduit le temps d'interrogation.
  • Limiter les résultats en fonction des performances. Combinez `ORDER BY` avec `LIMIT` pour contrôler le nombre de lignes retournées et améliorer les performances.
  • Indiquez le sens du tri. Indiquez explicitement le sens du tri (ASC ou DESC) pour plus de clarté, en particulier dans les requêtes complexes.
  • Évitez les tris inutiles. N'utilisez `ORDER BY` que lorsqu'un ordre spécifique est nécessaire pour minimiser la charge de travail de la requête.
  • Trier par expressions et alias. Utilisez des expressions ou des champs calculés, et triez par leurs alias pour un classement plus dynamique.
  • Traitement des valeurs NULL. Par défaut, les valeurs NULL sont triées en premier dans l'ordre croissant et en dernier dans l'ordre décroissant. Des ajustements peuvent être effectués à l'aide d'expressions si un ordre différent est souhaité.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement