Le prédicat IN s'attache à la clause WHERE pour permettre d'extraire seulement les lignes d'une table dont la valeur de la colonne de référence est spécifiée dans une liste de valeurs discrètes. # Syntaxe
SELECT {*|colonne [, ...]}
FROM table [, ...]
WHERE colonne IN (valeur-1, valeur-2 [, ...])
# Exemple
# Sélection des produits dont le prix vaut 25€ ou 30€ ou 35€
SELECT NomProduit
FROM TProduit
WHERE PrixProduit IN (25, 30, 35)
Ce prédicat permet de simplifier un ensemble de conditions dont une seule doit être vraie. Si comme si on avait écrit la clause WHERE avec des opérateurs OR. Il permet de rendre la syntaxe d'une commande SQL plus lisible. # Syntaxe
SELECT {*|colonne [, ...]}
FROM table [, ...]
WHERE colonne=valeur-1 OR colonne=valeur-2 [OR ...]
# Exemple avec OR
# Sélection des produits dont le prix vaut 25€ ou 30€ ou 35€
SELECT NomProduit
FROM TProduit
WHERE PrixProduit=25 OR PrixProduit=30 OR PrixProduit=35
On peut imaginer l'extraction seulement des lignes d'une table dont la valeur de la colonne de référence n'est pas spécifiée dans liste. On parle alors de négation qui s'opère comme suit : # Syntaxe
SELECT {*|colonne [, ...]}
FROM table [, ...]
WHERE colonne NOT IN (valeur-1, valeur-2 [, ...])
# Exemple
# Sélection des produits dont le prix ne vaut pas 25€ ou 30€ ou 35€
SELECT NomProduit
FROM TProduit
WHERE PrixProduit NOT IN (25, 30, 35) |