Commande WHERE sur SQL : guide complet

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.

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-9fd4{background-color:#9b9b9b;font-weight:bold;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
id Prénom Nom e-mail nrb_commandes Ville
1 Marie Nevier [email protected] 7 Paris
2 Gaëtan Doucle [email protected] 4 Nantes
3 Louis Chenard [email protected] 1 Lyon
4 Olivia Caffin [email protected] 9 Bordeaux
5 Camille Loutran [email protected] 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 : 

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-pu0z{background-color:#9b9b9b;border-color:inherit;font-weight:bold;text-align:left;vertical-align:top} .tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
id Prénom Nom e-mail nbr_commandes Ville
1 Marie Nevier [email protected] 7 Paris
2 Camille Loutran [email protected] 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 : 

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-9fd4{background-color:#9b9b9b;font-weight:bold;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
id Prénom Nom e-mail nbr_commandes Ville
1 Marie Nevier [email protected] 7 Paris
2 Gaëtan Doucle [email protected] 4 Nantes
3 Olivia Caffin [email protected] 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 :

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-52qd{background-color:#6665cd;font-size:18px;font-weight:bold;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
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. 

Liora (ex DataScientest) est un institut de formation technologique fondé en 2017, qui figure parmi les acteurs de référence du secteur. Liora propose des formations à distance, en bootcamp ou en temps partiel, dans les métiers de la data, du cloud, de l’intelligence artificielle, du développement informatique, de la cybersécurité et de la transformation digitale. La méthode pédagogie est basée sur 80% de pratique asynchrone via une plateforme propriétaire ready to code, et 20% d’accompagnement en direct avec mentors et coachs carrière. Les formations permettent de valider des certifications RNCP de niveau 6 ou 7, souvent accompagnées d’un certificat de reconnaissance délivré par de grandes institutions françaises (Mines Paris, La Sorbonne, ECE, INSEEC, etc.). Elles préparent également à des certifications officielles délivrées par des entreprises technologiques majeures comme Microsoft, AWS ou Google Cloud. À ce jour, Liora compte plus de 50 000 alumni, répartis à travers le monde.

Liora – Your future. Decoded.