Leçon 8 / 9 — Chapitre 2: WHERE : comparaisons et logique
WHERE avec colonnes précises et calculées
WHERE se combine sans restriction avec tout ce qui a été vu au premier chapitre : choisir des colonnes précises, utiliser SELECT *, ou afficher une colonne calculée — le filtre porte toujours sur les données de la table, indépendamment des colonnes réellement affichées.
SELECT nom, prix * stock FROM produits WHERE categorie = 'papeterie';
Ce code affiche, pour les produits de catégorie papeterie uniquement, leur nom et la valeur totale de leur stock (prix * stock, vu au premier chapitre). Le filtre WHERE s'applique avant que le calcul ne soit affiché : seules les lignes filtrées apparaissent, avec leur colonne calculée.
Un point important : on ne peut pas réutiliser directement une colonne calculée du SELECT dans la condition WHERE de la même requête (par exemple, WHERE prix * stock > 10000 ne peut pas référencer un nom donné à cette colonne calculée avec AS, puisque AS n'a pas encore été vu). Le calcul doit alors être réécrit intégralement dans le WHERE :
SELECT nom FROM produits WHERE prix * stock > 10000;
Ce code filtre directement sur le résultat du calcul prix * stock, sans jamais l'afficher dans le SELECT : seul Cahier (500 × 40 = 20000) et Savon (300 × 25 = 7500... en réalité inférieur à 10000, donc exclu) sont à vérifier ligne par ligne pour confirmer le résultat exact.
À retenir :
WHEREse combine librement avec des colonnes précises,SELECT *, ou des colonnes calculées.- Un calcul utilisé dans le
WHEREdoit être réécrit intégralement, indépendamment de ce qui est affiché dans leSELECT.
À vous de jouer : écrivez une requête qui affiche le nom et le prix des produits dont prix * stock dépasse 5000.
Continuez ce module
Débloquez les leçons restantes ainsi que l'attestation finale.
5 000 XOF / 7,62 € / 8,31 $
Débloquez les 91 leçons restantes de ce module
Pour vous communiquer où envoyer le paiement.
Moyen de paiement souhaité
Nous vous contactons pour le paiement — activé dès réception.