Skip to content

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 permet de s’assurer que la condition1 ET la condition2 sont vraies :

SELECT nom_colonnes FROM nom_table WHERE condition1 AND condition2

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 condition2

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_colonnes
FROM nom_table
WHERE 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.


Pour illustrer les prochaines commandes, nous allons considérer la table « produit » suivante :

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

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 produit
WHERE categorie = 'informatique' AND stock < 20

Résultat :

id nom categorie stock prix
1 ordinateur informatique 5 9500
3 souris informatique 16 30

Pour filtrer les données et obtenir uniquement les produits « ordinateur » ou « clavier », il faut effectuer la recherche suivante :

SELECT *
FROM produit
WHERE nom = 'ordinateur' OR nom = 'clavier'

Résultat :

id nom categorie stock prix
1 ordinateur informatique 5 9500
2 clavier informatique 32 35

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 produit
WHERE (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

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 produit
WHERE categorie = 'informatique' AND stock < 20
OR categorie = 'fourniture' AND stock < 200

Cette requête est interprétée comme :

SELECT *
FROM produit
WHERE (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.


  • Utilisez toujours des parenthèses lorsque vous combinez AND et OR pour 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.

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