ORDRE SQL PAR
Le SQL ORDER BY la clause est utilisée pour trier les données stockées dans les tables de la base de données . Le tri peut être effectué de manière croissante, décroissante ou basée sur plusieurs colonnes du tableau .
Généralement, l'ordre de tri par défaut est l'ordre croissant.
SELECT expressions FROM tables WHERE conditions ORDER BY expression ASC | DESC;
Voici la syntaxe d'une clause générale ORDER BY :
Exemple :
Considérons les Clients suivants tableau.
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
La requête ci-dessus triera tous les enregistrements par ordre croissant en fonction des colonnes NOM et SALAIRE.
Sortie :
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
La requête ci-dessus triera tous les enregistrements de la table de manière décroissante en fonction de la colonne NAME.
Sortie :
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
Il existe différents sujets sous la clause SQL ORDER BY. A savoir, ce sont :
- ORDRE SQL PAR ASC – Trie les données de manière ascendante
- ORDRE SQL PAR DESC – Trie les données de manière décroissante
- ORDRE SQL PAR ALÉATOIRE – Trie des données aléatoires
- ORDRE SQL PAR LIMITE – Sélectionne des données limitées dans la base de données
- SQL ORDER BY plusieurs colonnes – Trie les données en fonction de plusieurs colonnes.
Discutons de chacun d'eux en détail.
ORDRE SQL PAR ASC
ORDRE SQL PAR ASC La clause trie les données par ordre croissant en fonction de certaines colonnes. Généralement, l'ordre de tri par défaut est croissant.
Exemple :
Considérons les Clients suivants tableau.
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
La requête ci-dessus triera tous les enregistrements par ordre croissant en fonction des colonnes NOM et SALAIRE.
Sortie :
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
ORDRE SQL PAR DESC
La clause SQL ORDER BY DESC trie les données par ordre décroissant en fonction de certaines colonnes.
Exemple :
Considérons les Clients suivants tableau.
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
La requête ci-dessus triera tous les enregistrements de la table de manière décroissante en fonction de la colonne NAME.
Sortie :
identifiant | NOM | ÂGE | ADRESSE | SALAIRE |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
ORDRE SQL PAR LIMITE
La clause SQL ORDER BY LIMIT aide à récupérer un nombre spécifique d'enregistrements dans la table de la base de données. Il est généralement utilisé dans les situations où il existe un grand nombre de tuples qui satisfont la condition donnée. Il fixe une limite supérieure au nombre d'enregistrements récupérés.
Pour utiliser la clause LIMIT en SQL, il faut utiliser le ROWNUM clause avec elle.
Remarque :Il convient de noter que la clause LIMIT n'est pas prise en charge par toutes les versions de SQL.
Cette clause peut être spécifiée à l'aide de SQL 2008 OFFSET ou clauses FETCH FIRST .
Exemple :
Considérons l'étudiant suivant tableau.
RollNo | Nom | Note |
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
12008 | Alex | 5 |
SELECT * FROM Student LIMIT 5;
La requête ci-dessus renverra uniquement les 5 meilleurs étudiants de la table des étudiants.
Sortie :
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
La clause LIMIT peut également être utilisée avec la clause ORDER BY.
SELECT * FROM Student ORDER BY Grade DESC LIMIT 3;
La requête ci-dessus renverra les 3 meilleurs étudiants ayant les notes les plus élevées par ordre décroissant.
Sortie :
12006 | Anne | 10 |
12001 | Aditya | 9 |
12004 | Robin | 9 |
L'opérateur LIMIT est particulièrement utile dans les situations où des données limitées doivent être récupérées sans utiliser d'instructions conditionnelles.
L'opérateur LIMIT peut également être utilisé avec l'opérateur OFFSET.
LIMITE avec DÉCALAGE
Il est à noter que la valeur OFFSET doit être supérieure à zéro , et il ne peut pas être négatif. Si une valeur négative est fournie, il renverra une erreur.
Exemple :
Considérons la même table Student.
RollNo | Nom | Note |
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
12008 | Alex | 5 |
SELECT * FROM Student LIMIT 5 OFFSET 2 ORDER BY RollNo;
Cette requête renverra les 5 premiers enregistrements de la table Student à l'exclusion des 2 premières entrées.
Sortie :
RollNo | Nom | Note |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
LIMITER TOUT
Il existe une autre clause similaire à LIMIT connue sous le nom de LIMIT ALL . La clause LIMIT ALL ne mettra aucune limite et renverra toutes les entrées de la table.
Exemple :
Considérons à nouveau la même table Student.
RollNo | Nom | Note |
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
12008 | Alex | 5 |
Requête :
SELECT * FROM Student LIMIT ALL;
RollNo | Nom | Note |
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
12008 | Alex | 5 |
SQL ORDER BY plusieurs colonnes
Le SQL ORDER BY Multiple Columns renverra les entrées de données dans la colonne en les triant à l'aide de plusieurs colonnes qui ont été données dans la requête.
Il triera les données en fonction de l'ordre des noms de colonne qui ont été fournis après la clause ORDER BY. Le nom des colonnes doit être ajouté dans l'ordre correspondant dans lequel l'utilisateur souhaite que le tri se produise.
Plusieurs noms de colonne peuvent être ajoutés en les séparant à l'aide d'une virgule (,). De plus, les mots clés ASC ou DESC peuvent être utilisés pour spécifier l'ordre du tri.
Exemple :
Considérons l'Employé suivant table comportant quatre colonnes, à savoir id, first_name, last_name et salaire.
identifiant | prénom | nom_de_famille | salaire |
1 | Lisa | Ulman | 3000 |
2 | Ada | Müller | 2400 |
3 | Thomas | Vert | 2400 |
4 | Michel | Müller | 3000 |
5 | Marie | Vert | 2400 |
Requête :
SELECT id, first_name, last_name, salary FROM employee ORDER BY salary DESC, last_name;
Sortie :
identifiant | prénom | nom_de_famille | salaire |
4 | Michel | M uller | 3 000 |
1 | Lisa | U lman | 3 000 |
3 | Thomas | G reen | 2400 |
5 | Marie | G reen | 2400 |
2 | Ada | M uller | 2400 |
Par conséquent, la sortie a d'abord été triée par salaire dans l'ordre décroissant, puis par nom de famille dans l'ordre croissant. Il est à noter que si ASC ou DESC n'est pas mentionné, il triera par défaut les deux colonnes dans l'ordre croissant.
Conclusion
Ainsi, ci-dessus sont quelques-unes des clauses ORDER BY les plus importantes et les plus fréquemment utilisées qui sont utilisées quotidiennement par les développeurs afin d'effectuer des opérations spécifiques sur la base de données et de récupérer des données. Ces clauses peuvent être utilisées individuellement ou elles peuvent également être utilisées ensemble, de manière combinée, pour effectuer des opérations de base de données.