NSI · Terminale · Bases de données
Tri de données avec le langage SQL
Ordonner, classer, extraire le haut.
En bref
Trier n’est pas seulement afficher joliment : c’est la brique de toutes les questions « les meilleurs », « les plus récents », « le premier de chaque groupe ».
ORDER BY
SELECT nom, moyenne FROM eleve ORDER BY moyenne DESC, nom ASC
| Possibilité | Ce qu’elle permet |
|---|---|
| ASC (défaut) ou DESC | Croissant ou décroissant |
| Plusieurs colonnes | La seconde départage les ex æquo de la première |
| Une colonne non affichée | Ou le résultat d’un calcul, ou un agrégat |
Le tri des chaînes suit la collation de la base : selon le paramétrage, majuscules et accents ne se classent pas pareil.
Trier un numéro stocké en TEXT le classe alphabétiquement : « 10 » passe avant « 9 ».
LIMIT et OFFSET
SELECT nom FROM eleve ORDER BY moyenne DESC LIMIT 3
LIMIT borne le nombre de lignes, OFFSET en saute un certain nombre : ensemble ils réalisent la pagination.
Un LIMIT sans ORDER BY renvoie des lignes arbitraires : rien n’oblige le SGBD à respecter un ordre qu’on ne lui a pas demandé. Erreur silencieuse, donc redoutable.
Trier un résultat agrégé
SELECT classe_id, AVG(moyenne) AS moy FROM eleve GROUP BY classe_id ORDER BY moy DESC
Le mot-clé AS donne un alias à une colonne calculée : on peut la réutiliser dans ORDER BY, et le résultat devient lisible.
Trier n’est pas indexer
| ORDER BY | Un index | |
|---|---|---|
| Ce qu’il ordonne | Le résultat d’une requête | Une structure auxiliaire durable |
| Sa durée | Le temps de l’exécution | Permanent |
| Sur les lignes de la table | Aucun effet | Aucun effet non plus |
Un tri sur une colonne indexée est bien plus rapide, puisque l’index fournit déjà l’ordre.
Le coût du tri
Un tri général coûte de l’ordre de n log n comparaisons — la borne théorique des tris par comparaison.
Sur de gros volumes : filtrer avant de trier, et ne trier que les colonnes nécessaires. Trier un million de lignes pour n’en afficher dix est le gaspillage typique.
Le lien avec l’algorithmique
Les tris étudiés en NSI — insertion et sélection, en n² — et le tri fusion, en n log n, sont exactement ce que le SGBD implémente sous ORDER BY. La différence : il choisit lui-même l’algorithme selon la taille des données et les index disponibles.
Un ORDER BY oublié devant un LIMIT donne un résultat qui a l’air juste et qui ne l’est pas.
Teste-toi
6 questions pour vérifier
Touche une réponse : la correction s’affiche tout de suite.
1.Quel est l’ordre de tri appliqué par défaut par ORDER BY ?
2.Que se passe-t-il si l’on utilise LIMIT sans ORDER BY ?
3.À quoi sert le mot-clé AS ?
4.Que réalisent ensemble LIMIT et OFFSET ?
5.Peut-on trier sur plusieurs colonnes à la fois ?
6.Un ORDER BY modifie l’ordre de stockage des lignes dans la table.
0 / 6 questions
Dans l’app, ce chapitre a son quiz complet, chronométré, et tes erreurs reviennent au bon moment pour ne plus les refaire.

La fiche de révision, sur une page
Tout « Trier avec SQL » sur une seule page A4 illustrée : l’essentiel, les pièges et un mini-test. Elle se débloque dans l’app avec des gemmes — et ton compte gratuit en offre assez pour tes trois premières fiches.

