La commande WHERE en SQL est utilisée dans les requêtes afin de filtrer les données qui respectent une condition précise. Cela permet d’extraire uniquement les lignes désirées d’une table dans une base de données. Avec cette commande, il est possible de sélectionner un sous-ensemble de données en fonction de critères précis. Découvrez en détail la syntaxe de la commande WHERE en SQL, ses cas d’utilisation et ses opérateurs de comparaisons pour effectuer vos requêtes avec plus d’efficacité.
La syntaxe de la commande WHERE en SQL
La commande WHERE se compose d’une commande SELECT et de la condition WHERE.
La syntaxe la plus courante est la suivante :
SELECT nom_colonne1, nom_colonne2 FROM nom_table WHERE une_condition
Décomposons cette requête SQL :
- SELECT va sélectionner les colonnes nommées nom_colonne1 et nom_colonne2
- FROM va sélectionner la table nommée nom_table
- WHERE ajoute une condition : sélectionner uniquement ce qui respecte la condition une_condition.
Quelques exemples d’utilisation de la commande WHERE
Afin de rendre l’utilisation de la commande WHERE plus concrète et mieux comprendre son fonctionnement, appliquons-la à un cas précis. Dans cet exemple, nous utilisons une table clients. Elle simule une table contenant les clients d’une entreprise ainsi que leur nombre de commandes.
id | Prénom | Nom | nrb_commandes | Ville | |
---|---|---|---|---|---|
1 | Marie | Nevier | mnevier@exemple.com | 7 | Paris |
2 | Gaëtan | Doucle | gdoucle@exemple.com | 4 | Nantes |
3 | Louis | Chenard | lchenard@exemple.com | 1 | Lyon |
4 | Olivia | Caffin | ocaffin@exemple.com | 9 | Bordeaux |
5 | Camille | Loutran | cloutran@exemple.com | 3 | Paris |
Exemple de sélection par ville
En reprenant la syntaxe de la commande WHERE et en ajoutant les bons éléments, vous pouvez filtrer cette table comme bon vous semble. Par exemple, pour sélectionner uniquement les clients de la ville de Paris, nous effectuons donc la requête :
SELECT * FROM clients WHERE ville = ‘Paris’
Cette requête retourne alors la sélection suivante :
id | Prénom | Nom | nbr_commandes | Ville | |
---|---|---|---|---|---|
1 | Marie | Nevier | mnevier@exemple.com | 7 | Paris |
2 | Camille | Loutran | cloutran@exemple.com | 3 | Paris |
Notez que les valeurs précisées dans les conditions sont sensibles à la casse. Cela signifie que vous devez bien respecter les majuscules et minuscules pour filtrer correctement. Dans l’exemple ci-dessus, il est nécessaire d’utiliser la valeur ‘Paris’ et non ‘paris’.
Exemple de sélection par nombre de commandes
Pour un commerce physique ou en ligne, il peut être intéressant de filtrer les clients par nombre de commandes. Si nous reprenons le tableau initial, effectuons la requête suivante :
SELECT * FROM clients WHERE nbr_commandes >= 4
Cette requête retourne alors tous les clients ayant effectué 4 commandes ou plus :
id | Prénom | Nom | nbr_commandes | Ville | |
---|---|---|---|---|---|
1 | Marie | Nevier | mnevier@exemple.com | 7 | Paris |
2 | Gaëtan | Doucle | gdoucle@exemple.com | 4 | Nantes |
3 | Olivia | Caffin | ocaffin@exemple.com | 9 | Bordeaux |
Les opérateurs de comparaisons de la commande WHERE
Dans nos deux exemples, nous avons utilisé les opérateurs = et >= pour filtrer les résultats dans la requête SQL. Mais ce ne sont pas les seuls opérateurs applicables avec la commande WHERE. Retrouvez la liste des opérateurs les plus couramment utilisés dans le tableau ci-dessous :
Opérateur | Description de l'opérateur |
---|---|
= | Égal |
<> ou != | Différent (pas égal) |
< | Strictement inférieur |
> | Strictement supérieur |
<= | Inférieur ou égal |
>= | Supérieur ou égal |
IN | Liste de valeurs possibles |
BETWEEN | Valeurs comprises entre un intervalle de données (plage de valeurs ou de dates) |
LIKE | Comprend le début, milieu ou fin d’un mot |
IS NULL | Valeur est nulle |
IS NOT NULL | Valeur n’est pas nulle |
Conclusion sur SQL WHERE
En bref, WHERE est une commande SQL particulièrement utile pour sélectionner les lignes d’une table qui respectent une condition précise. Les différents opérateurs permettent d’utiliser la commande WHERE pour filtrer différentes valeurs, comme des chiffres, des dates ou des mots.