Database
 sql >> Base de données >  >> RDS >> Database

ORDRE SQL PAR

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.