Introduction
La clause WHERE en SQL est une composante essentielle pour filtrer les enregistrements d'une table selon des conditions spécifiques. Cette clause permet de sélectionner uniquement les enregistrements qui répondent à un critère particulier, ce qui la rend extrêmement utile dans la gestion et l'analyse des données.
Contexte des Données
Imaginons une base de données contenant des informations sur des produits commercialisés en Afrique, ainsi que les pays où ces produits sont disponibles. Les tables pertinentes pour notre exemple sont les suivantes :
Table PRODUITS
refProduit |
nomProduit |
1 |
Café |
2 |
Cacao |
3 |
Thé |
Table PAYS
codePays |
nomPays |
NG |
Nigéria |
CM |
Cameroun |
KE |
Kenya |
Table commercialiser
refProduit |
codePays |
1 |
NG |
2 |
CM |
3 |
KE |
1 |
KE |
Utilisation de la clause WHERE
Maintenant, supposons que vous souhaitiez obtenir la liste des pays où le produit "Café" est commercialisé. Pour cela, nous allons utiliser la clause WHERE pour filtrer les enregistrements :
SELECT nomPays
FROM PAYS
JOIN commercialiser ON PAYS.codePays = commercialiser.codePays
JOIN PRODUITS ON commercialiser.refProduit = PRODUITS.refProduit
WHERE nomProduit = 'Café';
Cette requête fonctionne comme suit :
- SELECT nomPays : Sélectionne le nom des pays.
- FROM PAYS : Indique que nous travaillons sur la table PAYS.
- JOIN : Relie la table PAYS à la table commercialiser et ensuite à la table PRODUITS.
- WHERE nomProduit = 'Café' : Filtre les résultats pour n'afficher que les pays où le produit "Café" est commercialisé.
Résultat attendu :
Autres exemples de clauses WHERE
La clause WHERE peut être utilisée pour filtrer sur différents critères. Voici quelques exemples :
Exemple 1 : Filtrer par code de pays
SELECT nomProduit
FROM PRODUITS
JOIN commercialiser ON PRODUITS.refProduit = commercialiser.refProduit
WHERE codePays = 'KE';
Ce script retourne tous les produits commercialisés au Kenya.
Exemple 2 : Utiliser des conditions multiples avec AND
SELECT nomProduit
FROM PRODUITS
JOIN commercialiser ON PRODUITS.refProduit = commercialiser.refProduit
WHERE codePays = 'KE' AND nomProduit = 'Thé';
Ce script retourne les produits spécifiques commercialisés au Kenya, ici "Thé".