AND & OR – Combiner des conditions
Bonne lecture et bon apprentissage !
Junior TSAFACK – 08/08/2026
⏱️ Temps de lecture estimé : 5 minutes
Une requête SQL peut être restreinte à l’aide de la condition WHERE. Les opérateurs logiques AND et OR peuvent être utilisés au sein de la commande WHERE pour combiner des conditions.
Syntaxe d’utilisation des opérateurs AND et OR
Section titled “Syntaxe d’utilisation des opérateurs AND et OR”Les opérateurs sont à ajouter dans la condition WHERE. Ils peuvent être combinés à l’infini pour filtrer les données comme souhaité.
L’opérateur AND
Section titled “L’opérateur AND”L’opérateur AND permet de s’assurer que la condition1 ET la condition2 sont vraies :
SELECT nom_colonnes FROM nom_table WHERE condition1 AND condition2L’opérateur OR
Section titled “L’opérateur OR”L’opérateur OR vérifie quant à lui que la condition1 OU la condition2 est vraie :
SELECT nom_colonnes FROM nom_table WHERE condition1 OR condition2Combiner AND et OR
Section titled “Combiner AND et OR”Ces opérateurs peuvent être combinés à l’infini et mélangés. L’exemple ci-dessous filtre les résultats de la table « nom_table » si condition1 ET (condition2 OU condition3) est vraie :
SELECT nom_colonnesFROM nom_tableWHERE condition1 AND (condition2 OR condition3)⚠️ Attention : Il faut penser à utiliser des parenthèses lorsque c’est nécessaire. Cela permet d’éviter les erreurs et améliore la lecture d’une requête par un humain.
Exemple de données
Section titled “Exemple de données”Pour illustrer les prochaines commandes, nous allons considérer la table « produit » suivante :
Table « produit »
Section titled “Table « produit »”| id | nom | categorie | stock | prix |
|---|---|---|---|---|
| 1 | ordinateur | informatique | 5 | 9500 |
| 2 | clavier | informatique | 32 | 35 |
| 3 | souris | informatique | 16 | 30 |
| 4 | crayon | fourniture | 147 | 2 |
Opérateur AND
Section titled “Opérateur AND”L’opérateur AND permet de joindre plusieurs conditions dans une requête. En gardant la même table que précédemment, pour filtrer uniquement les produits « informatique » qui sont presque en rupture de stock (moins de 20 produits disponibles), il faut exécuter la requête suivante :
SELECT *FROM produitWHERE categorie = 'informatique' AND stock < 20Résultat :
| id | nom | categorie | stock | prix |
|---|---|---|---|---|
| 1 | ordinateur | informatique | 5 | 9500 |
| 3 | souris | informatique | 16 | 30 |
Opérateur OR
Section titled “Opérateur OR”Pour filtrer les données et obtenir uniquement les produits « ordinateur » ou « clavier », il faut effectuer la recherche suivante :
SELECT *FROM produitWHERE nom = 'ordinateur' OR nom = 'clavier'Résultat :
| id | nom | categorie | stock | prix |
|---|---|---|---|---|
| 1 | ordinateur | informatique | 5 | 9500 |
| 2 | clavier | informatique | 32 | 35 |
Combiner AND et OR (Exemple pratique)
Section titled “Combiner AND et OR (Exemple pratique)”Il ne faut pas oublier que les opérateurs peuvent être combinés pour effectuer de puissantes recherches. Il est possible de filtrer les produits « informatique » avec un stock inférieur à 20 et les produits « fourniture » avec un stock inférieur à 200 avec la recherche suivante :
SELECT *FROM produitWHERE (categorie = 'informatique' AND stock < 20) OR (categorie = 'fourniture' AND stock < 200)Résultat :
| id | nom | categorie | stock | prix |
|---|---|---|---|---|
| 1 | ordinateur | informatique | 5 | 9500 |
| 2 | clavier | informatique | 32 | 35 |
| 4 | crayon | fourniture | 147 | 2 |
Importance des parenthèses
Section titled “Importance des parenthèses”Les parenthèses sont essentielles pour contrôler l’ordre d’évaluation des conditions. Sans parenthèses, l’opérateur AND est prioritaire sur OR, ce qui peut produire des résultats inattendus.
Exemple sans parenthèses (comportement par défaut) :
SELECT *FROM produitWHERE categorie = 'informatique' AND stock < 20 OR categorie = 'fourniture' AND stock < 200Cette requête est interprétée comme :
SELECT *FROM produitWHERE (categorie = 'informatique' AND stock < 20) OR (categorie = 'fourniture' AND stock < 200)Ce qui donne le même résultat que précédemment dans ce cas précis. Mais selon les conditions, le résultat peut être différent. Il est donc fortement recommandé d’utiliser des parenthèses pour être explicite.
Bonnes pratiques
Section titled “Bonnes pratiques”- Utilisez toujours des parenthèses lorsque vous combinez
ANDetORpour rendre la logique explicite. - Évitez les conditions trop complexes : si une requête devient trop longue, envisagez de la simplifier ou de la décomposer.
- Testez vos conditions séparément avant de les combiner pour vérifier qu’elles retournent les résultats attendus.
- Indentez votre code pour améliorer la lisibilité des requêtes complexes.
Prochain chapitre
Section titled “Prochain chapitre”Vous savez désormais comment combiner des conditions avec AND et OR. Mais que faire si vous souhaitez filtrer sur une liste de valeurs spécifiques ?
👉 Chapitre 7 : IN – Filtrer sur une liste de valeurs
Bonne continuation !
Junior TSAFACK – 08/08/2026