2.4 — Filtrage multi-conditions
Ce que vous allez apprendre
- Comment utiliser
AND
,OR
et les parenthèses pour combiner les filtres - La comparaison avec les filtres avancés d'Excel
Combiner les conditions
Excel :
Utilisez le "Filtre personnalisé" pour n'afficher que les lignes où Produit = "Apples" et Montant > 100.
SQL :
SELECT * FROM sales
WHERE Product = 'Apples' AND Amount > 100;
AND
signifie que les deux conditions doivent être vraies.
Utiliser OR
Afficher les ventes de "Apples" ou "Oranges" :
SELECT * FROM sales
WHERE Product = 'Apples' OR Product = 'Oranges';
OR
signifie qu'une des conditions suffit.
Grouper avec des parenthèses
Afficher les ventes de "Apples" avec Montant > 100, ou toutes les ventes de "Oranges" :
SELECT * FROM sales
WHERE (Product = 'Apples' AND Amount > 100)
OR Product = 'Oranges';
- Les parenthèses contrôlent l'ordre logique, comme dans les formules Excel.
Note spéciale sur les valeurs NULL
NULL
signifie donnée manquante ou inconnue.Les comparaisons comme
= NULL
ou<> NULL
ne fonctionnent pas.Utilisez
IS NULL
ouIS NOT NULL
:sqlWHERE Amount IS NULL
Erreurs courantes à éviter
Utiliser
=
ou<>
avec NULL :sqlWHERE Amount = NULL -- Incorrect ! WHERE Amount <> NULL -- Incorrect !
Utilisez toujours
IS NULL
ouIS NOT NULL
pour tester NULL.Oublier les parenthèses dans les conditions complexes :
sqlWHERE Product = 'Apples' AND Amount > 100 OR Product = 'Oranges'
Cela peut ne pas filtrer comme prévu. Ajoutez des parenthèses :
sqlWHERE (Product = 'Apples' AND Amount > 100) OR Product = 'Oranges'
Oublier les guillemets autour des valeurs texte :
sqlWHERE Product = Apples -- Incorrect ! WHERE Product = 'Apples' -- Correct
Sensibilité à la casse :
Certaines bases distinguent'apples'
et'Apples'
. UtilisezLOWER()
pour ignorer la casse si besoin :sqlWHERE LOWER(Product) = 'apples'
Points clés
- Combinez les conditions avec
AND
,OR
et des parenthèses pour un filtrage avancé. - Utilisez toujours
IS NULL
pour tester les données manquantes.
Prochaine étape
Dans le prochain module, vous apprendrez à transformer et trier vos données—comme avec les formules et le tri dans Excel.