Leçon 8 / 9 — Chapitre 4: Trier et limiter
Combiner ORDER BY, LIMIT, OFFSET et WHERE
WHERE, ORDER BY, LIMIT et OFFSET se combinent librement dans une même requête, toujours dans le même ordre d'écriture : WHERE avant ORDER BY, lui-même avant LIMIT, lui-même avant OFFSET.
SELECT nom, prix
FROM produits
WHERE categorie <> 'boisson'
ORDER BY prix DESC
LIMIT 2 OFFSET 1;
Ce que fait chaque partie, dans l'ordre où le moteur SQL les applique réellement :
WHERE categorie <> 'boisson'(vu au deuxième chapitre) exclutJus, laissant 5 lignes.ORDER BY prix DESC(vu dans ce chapitre) trie ces 5 lignes par prix décroissant.OFFSET 1saute la première ligne du résultat trié (le produit le plus cher parmi les 5 restants).LIMIT 2conserve ensuite 2 lignes après ce saut.
L'ordre d'écriture dans la requête (WHERE, puis ORDER BY, puis LIMIT, puis OFFSET) ne correspond pas exactement à l'ordre d'exécution réel du moteur (OFFSET s'applique après le tri, avant que LIMIT ne coupe le résultat) — mais retenir l'ordre d'écriture suffit pour écrire des requêtes correctes sans devoir maîtriser les détails internes du moteur.
À retenir :
- L'ordre d'écriture est toujours :
WHERE, puisORDER BY, puisLIMIT, puisOFFSET. - Ces quatre clauses se combinent librement, chacune agissant sur le résultat de la précédente.
À vous de jouer : écrivez une requête qui filtre sur prix > 100, trie par stock croissant, puis affiche 2 lignes en sautant la première.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 84 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès