Aller au contenu
studuel

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 DESCCroissant ou décroissant
Plusieurs colonnesLa seconde départage les ex æquo de la première
Une colonne non affichéeOu 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 BYUn index
Ce qu’il ordonneLe résultat d’une requêteUne structure auxiliaire durable
Sa duréeLe temps de l’exécutionPermanent
Sur les lignes de la tableAucun effetAucun 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. 1.Quel est l’ordre de tri appliqué par défaut par ORDER BY ?

  2. 2.Que se passe-t-il si l’on utilise LIMIT sans ORDER BY ?

  3. 3.À quoi sert le mot-clé AS ?

  4. 4.Que réalisent ensemble LIMIT et OFFSET ?

  5. 5.Peut-on trier sur plusieurs colonnes à la fois ?

  6. 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.

Continuer dans l’app
Aperçu flouté de la fiche de révision

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.

Débloquer la fiche dans l’app

Dans le même thème

NSI en terminale : passe à l’entraînement.

Le quiz complet, les exercices corrigés, les duels contre des élèves de ton niveau et un coach IA qui t’explique ce qui bloque.

Commencer gratuitement