WHERE – Filtrer les lignes
Bonne lecture et bon apprentissage !
Junior TSAFACK – 08/08/2026
⏱️ Temps de lecture estimé : 6 minutes
La commande WHERE dans une requête SQL permet d’extraire les lignes d’une base de données qui respectent une condition. Cela permet d’obtenir uniquement les informations désirées.
Syntaxe
Section titled “Syntaxe”La commande WHERE s’utilise en complément à une requête utilisant SELECT. La façon la plus simple de l’utiliser est la suivante :
SELECT nom_colonnes FROM nom_table WHERE conditionExemple concret
Section titled “Exemple concret”Imaginons une base de données appelée « client » qui contient le nom des clients, le nombre de commandes qu’ils ont effectuées et leur ville :
Table « client »
Section titled “Table « client »”| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
| 2 | Maurice | 0 | rennes |
| 3 | Joséphine | 1 | toulouse |
| 4 | Gérard | 7 | paris |
Pour obtenir seulement la liste des clients qui habitent à Paris, il faut effectuer la requête suivante :
SELECT * FROM client WHERE ville = 'paris'Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
| 4 | Gérard | 7 | paris |
⚠️ Attention : Dans notre cas, tout est en minuscules donc il n’y a pas eu de problème. Cependant, si une table est sensible à la casse, il faut faire attention aux majuscules et minuscules.
Opérateurs de comparaison
Section titled “Opérateurs de comparaison”Il existe plusieurs opérateurs de comparaison. Voici les plus couramment utilisés :
| Opérateur | Description |
|---|---|
= |
Égal à |
<> |
Pas égal à (ou != dans certains SGBD) |
!= |
Pas égal à |
> |
Supérieur à |
< |
Inférieur à |
>= |
Supérieur ou égal à |
<= |
Inférieur ou égal à |
IN |
Liste de plusieurs valeurs possibles |
BETWEEN |
Valeur comprise dans un intervalle donné |
LIKE |
Recherche en spécifiant le début, milieu ou fin d’un mot |
IS NULL |
Valeur est nulle |
IS NOT NULL |
Valeur n’est pas nulle |
⚠️ Attention : Certains opérateurs n’existent pas dans les vieilles versions de systèmes de gestion de bases de données (SGBD). De plus, il existe de nouveaux opérateurs non indiqués ici qui sont disponibles avec certains SGBD. N’hésitez pas à consulter la documentation de MySQL, PostgreSQL ou autre pour voir ce qu’il vous est possible de faire.
Exemples avec différents opérateurs
Section titled “Exemples avec différents opérateurs”Exemple 1 : Filtrer avec >
Section titled “Exemple 1 : Filtrer avec >”Pour obtenir les clients qui ont effectué plus de 2 commandes :
SELECT * FROM client WHERE nbr_commande > 2Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
| 4 | Gérard | 7 | paris |
Exemple 2 : Filtrer avec <>
Section titled “Exemple 2 : Filtrer avec <>”Pour obtenir les clients qui n’habitent pas à Paris :
SELECT * FROM client WHERE ville <> 'paris'Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 2 | Maurice | 0 | rennes |
| 3 | Joséphine | 1 | toulouse |
Exemple 3 : Filtrer avec IN
Section titled “Exemple 3 : Filtrer avec IN”Pour obtenir les clients qui habitent à Paris ou à Lyon (nous verrons cet opérateur en détail dans un chapitre dédié) :
SELECT * FROM client WHERE ville IN ('paris', 'lyon')Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
| 4 | Gérard | 7 | paris |
Exemple 4 : Filtrer avec BETWEEN
Section titled “Exemple 4 : Filtrer avec BETWEEN”Pour obtenir les clients qui ont effectué entre 1 et 5 commandes :
SELECT * FROM client WHERE nbr_commande BETWEEN 1 AND 5Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
| 3 | Joséphine | 1 | toulouse |
Exemple 5 : Filtrer avec LIKE
Section titled “Exemple 5 : Filtrer avec LIKE”Pour obtenir les clients dont le nom commence par « P » :
SELECT * FROM client WHERE nom LIKE 'P%'Résultat :
| id | nom | nbr_commande | ville |
|---|---|---|---|
| 1 | Paul | 3 | paris |
Utiliser WHERE sans SELECT
Section titled “Utiliser WHERE sans SELECT”Bien que WHERE soit le plus souvent utilisé avec SELECT, elle peut également être utilisée avec d’autres commandes telles que UPDATE et DELETE. Nous verrons ces cas dans les chapitres dédiés à la manipulation des données.
Bonnes pratiques
Section titled “Bonnes pratiques”- Utilisez des guillemets simples pour les chaînes de caractères (
'valeur'). - Faites attention à la casse si votre SGBD est sensible à la casse (par défaut, MySQL ne l’est pas, mais PostgreSQL l’est).
- Testez vos conditions avec des données connues avant de les utiliser en production.
- Utilisez des parenthèses pour grouper des conditions complexes (nous verrons cela avec
ANDetOR).
Prochain chapitre
Section titled “Prochain chapitre”Vous savez désormais comment filtrer les données avec WHERE. Mais que faire si vous avez besoin de combiner plusieurs conditions simultanément ?
👉 Chapitre 6 : AND & OR – Combiner des conditions
Bonne continuation !
Junior TSAFACK – 08/08/2026