PaliSkill
SQL débutant

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 :

  • WHERE se combine librement avec des colonnes précises, SELECT *, ou des colonnes calculées.
  • Un calcul utilisé dans le WHERE doit être réécrit intégralement, indépendamment de ce qui est affiché dans le SELECT.

À 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 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