Syntaxe:
>> SELECT * FROM nom_table ORDER BY expression ASC|DESC>>SELECT expression FROM table_name ORDER BY expression ASC|DESC
>> SELECT expression FROM table_name WHERE condition ORDER BY expression ASC|DESC
Jetons un coup d'œil à l'explication d'une requête.
- Nom de la table: Nom d'une table à partir de laquelle récupérer les données
- Expression: Nom d'une colonne à récupérer ou nom d'une colonne utilisée pour organiser les données.
- ASC: Utilisé pour classer les données par ordre croissant. C'est facultatif.
- DESC: Utilisé pour organiser les données par ordre décroissant. C'est facultatif
- OÙ état: C'est une contrainte optionnelle à utiliser.
Commencez par ouvrir le shell client de ligne de commande MySQL pour commencer à travailler sur le tri. Il peut vous demander votre mot de passe MySQL. Tapez votre mot de passe et appuyez sur Entrée pour continuer.
Exemple : Tri sans clause ORDER BY (ASC ou DESC) :
Pour élaborer le tri avec la clause ORDER BY, nous avons commencé notre premier exemple sans utiliser la clause ORDER BY. Nous avons une table 'enseignant' dans le schéma 'données' de MySQL avec quelques enregistrements dedans. Lorsque vous souhaitez récupérer les données de cette table, vous les obtiendrez telles quelles, telles qu'elles ont été insérées dans la table sans effectuer de tri supplémentaire, comme présenté ci-dessous.
>> SÉLECTIONNER * À PARTIR des données.prof;
Exemple : Trier avec ORDER BY Nom de colonne sans ASC|DESC :
Prendre la même table avec un petit changement dans la requête SELECT. Nous avons spécifié le nom d'une colonne selon laquelle toute la table sera triée. Nous avons utilisé la colonne 'id' pour trier le tableau. Comme nous n'avons pas défini le type de tri, e.g., Croissant ou décroissant, c'est pourquoi il sera automatiquement trié par ordre croissant de 'id'.
>> SÉLECTIONNER * À PARTIR des données.enseignant ORDER BY id;
Trions la même table sans utiliser l'expression ASC ou DESC dans l'instruction SELECT tout en utilisant une autre colonne. Nous allons trier cette table ORDER BY la colonne 'sujet'. Toutes les données de la colonne « sujet » seront d'abord triées par ordre alphabétique ; alors, toute la table sera triée en fonction de celle-ci.
>> SÉLECTIONNER * À PARTIR des données.enseignant ORDRE PAR matière;
À présent. Nous allons trier le tableau 'enseignant', selon la colonne 'qualification'. Cette requête va d'abord trier la colonne 'qualification' par ordre alphabétique. Après cela, tous les enregistrements sont triés par cette colonne comme ci-dessous.
>> SÉLECTIONNER * À PARTIR des données.enseignant ORDRE PAR qualification;
Vous pouvez également récupérer les données de colonne spécifiées de la table avec la clause ORDER BY. Affichons les données en trois colonnes de la table 'enseignant' et trions ces données en fonction de la colonne 'prénom'. Nous obtiendrons un enregistrement trié sur trois colonnes comme indiqué.
>> SELECTIONNER prénom, sujet, qualification FROM données.professeur ORDRE PAR prénom;
Exemple : Trier avec ORDER BY Nom de colonne unique avec ASC|DESC :
Maintenant, nous allons effectuer la même requête avec un petit changement dans sa syntaxe. Nous allons spécifier le type de tri lors de la définition du nom de la colonne dans la requête. Récupérons l'enregistrement de quatre colonnes : prénom, nom, sujet et qualification d'une table 'enseignant' tout en triant cet enregistrement selon la colonne 'prénom' dans l'ordre croissant. Cela signifie que la colonne 'prénom' sera d'abord triée par ordre croissant, puis toutes les données la concernant seront triées.
>> SELECT prénom, nom, sujet, qualification FROM données.enseignant ORDER BY prénom ASC;
Selon l'ordre décroissant de la colonne 'prénom', le tri du même enregistrement de quatre colonnes' est le suivant.
>> SELECT prénom, nom, sujet, qualification FROM données.enseignant ORDRE PAR matière DESC;
La récupération de la table à part entière « enseignant » tout en utilisant la colonne « prénom » dans l'ordre croissant est la suivante.
>> SÉLECTIONNER * À PARTIR des données.enseignant ORDER BY prénom ASC;
Récupérons la table entière par l'ordre décroissant de la colonne 'id' comme ci-dessous.
>> SÉLECTIONNER * À PARTIR des données.enseignant ORDER BY id DESC;
Exemple : Trier avec ORDER BY Nom de plusieurs colonnes avec ASC|DESC :
Oui! Vous pouvez facilement trier votre tableau avec plusieurs colonnes. Il vous suffit de spécifier la clause ORDER BY tandis qu'une virgule sépare chaque nom de colonne avec son type de tri. Prenons un exemple simple. Nous avons sélectionné des données à quatre colonnes dans un tableau. Dans un premier temps, ces données seront triées selon la colonne 'id' par ordre décroissant puis par ordre décroissant par la colonne 'prénom'.
>> SELECT id, prénom, sujet, qualification FROM données.professeur ORDER BY id DESC, prénom ASC ;
Exemple : Trier avec ORDER BY avec la clause WHERE :
Comme nous savons que la clause WHERE est utilisée pour effectuer certaines conditions sur les données. Nous pouvons facilement trier nos données en utilisant la clause WHERE et les récupérer en fonction de celle-ci. Nous avons effectué une requête simple dans laquelle nous avons récupéré tous les enregistrements de la table 'enseignant' où l''id' est supérieur à 4 et la 'qualification' d'un enseignant est 'Mphil'. Cette requête récupérera les enregistrements des enseignants dont la qualification est égale à MPhil, et leur « id » n'est pas inférieur à 5. Après cela, ces données seront triées par ordre décroissant des "identifiants" des enseignants, comme indiqué dans l'image.
>> SÉLECTIONNER * À PARTIR des données.professeur WHERE id > 4 ET qualification = 'MPhil' ORDER BY id DESC;
Si vous souhaitez récupérer les colonnes spécifiées d'une table, vous pouvez également le faire. Faisons comme ci-dessous.
>> SELECT id, prénom, sujet, qualification FROM données.professeur O WH id > 2 ET id < 11 AND subject = 'Math' ORDER BY qualification DESC;
Conclusion:
Nous avons fait presque tous les exemples pour apprendre la clause ORDER BY pour trier les enregistrements. J'espère que cet article vous aidera à trier les résultats dans MySQL.