La clause ORDER BY de MySQL est utilisée pour trier les résultats de la requête par colonnes spécifiées. Il prend en charge le tri ascendant (ASC) et décroissant (DESC) et peut trier plusieurs colonnes simultanément. Une valeur NULL est généralement traitée comme la plus petite valeur, mais elle peut être traitée comme la plus grande valeur à l'aide de la fonction COALESCE(). La clause ORDER BY permet également le tri à l'aide d'expressions et peut optimiser les performances de tri en créant des index, en utilisant des index de couverture et en limitant le nombre de lignes renvoyées.
Utilisation de ORDER BY dans MySQL
Objectif de la clause ORDER BY
La clause ORDER BY est utilisée pour trier les résultats de la requête afin qu'ils soient affichés dans un ordre spécifique. Il trie les lignes de données en fonction d'une expression ou d'une colonne spécifiée.
Syntaxe de base :
<code class="sql">SELECT column_list FROM table_name ORDER BY column_name [ASC | DESC];</code>
Colonnes de tri multiples
Peut trier plusieurs colonnes en même temps. Chaque colonne de tri est séparée par des virgules et triée par priorité de gauche à droite. Par exemple :
<code class="sql">SELECT * FROM table_name ORDER BY last_name ASC, first_name DESC;</code>
Ceci triera d'abord par nom de famille par ordre croissant, puis par prénom par ordre décroissant si les noms de famille sont égaux.
Tri des valeurs NULL
Les valeurs NULL sont généralement traitées comme la plus petite valeur lors du tri. Pour traiter une valeur NULL comme la plus grande valeur lors d'un tri par ordre décroissant, vous pouvez utiliser la fonction COALESCE() pour la remplacer par une valeur non NULL. Par exemple :
<code class="sql">SELECT * FROM table_name ORDER BY COALESCE(salary, 0) DESC;</code>
Tri à l'aide d'expressions
Vous pouvez utiliser des expressions dans la clause ORDER BY au lieu des noms de colonnes. Les expressions peuvent inclure des constantes, des fonctions et des opérateurs. Par exemple, le tri par tranche d'âge :
<code class="sql">SELECT * FROM table_name ORDER BY CASE WHEN age < 18 THEN 'Minor' WHEN age >= 18 AND age < 65 THEN 'Adult' ELSE 'Senior' END;</code>
Optimisation des performances de tri
Lors du tri de grands ensembles de données, il est très important d'optimiser les performances de tri. Les techniques suivantes peuvent être utilisées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!