Clause SQL WHERE IN

Clause Sql Where In



En SQL, nous pouvons utiliser la clause WHERE IN pour filtrer les résultats dans une base de données donnée. La clause WHERE IN nous permet de sélectionner les lignes d'une base de données donnée qui correspondent à une ou plusieurs des valeurs spécifiées dans une liste donnée.

Dans ce didacticiel, nous explorerons la clause WHERE IN pour découvrir comment nous pouvons l'utiliser pour filtrer les résultats d'une table ou d'un ensemble de résultats donné.

Clause SQL WHERE IN

Ce qui suit montre la syntaxe de base de la clause WHERE IN dans SQL :







SELECT colonne1, colonne2, ...
FROM nom_table
WHERE nom_colonne IN (valeur1, valeur2, ...);

Nous commençons par une instruction de base « select » suivie des colonnes que nous souhaitons inclure dans le jeu de résultats.



Ensuite, nous précisons la table à partir de laquelle nous souhaitons récupérer les résultats. Enfin, nous précisons la condition de filtre à l'aide de la clause WHERE suivie du nom de la colonne sur laquelle nous souhaitons filtrer. Après la clause IN, nous spécifions une liste de valeurs que nous souhaitons utiliser pour le filtrage.



Exemple 1 : filtrer un seul résultat

Pour mieux montrer comment utiliser la clause WHERE IN, regardons un exemple. Considérez le tableau « film » de la base de données exemple Sakila.





Supposons que nous souhaitions récupérer tous les films classés PG ou PG-13. Nous pouvons utiliser la clause WHERE IN comme suit :

SELECT titre, release_year, note
DE film
OÙ note IN («PG»);

Dans ce cas, nous fournissons une liste d'une valeur unique que nous souhaitons récupérer dans la clause IN.



Exemple 2 : filtrer plusieurs valeurs

Nous pouvons également spécifier plusieurs éléments dans la liste de valeurs. Par exemple, pour récupérer les films avec une liste classée PG et PG-13, nous pouvons exécuter la requête comme suit :

SELECT titre, release_year, note
DE film
OÙ note IN (« PG », « PG-13 ») ;

Le résultat résultant est le suivant :

Exemple 3 : Filtrer avec sous-requête

Nous pouvons également utiliser WHERE IN dans une sous-requête, ce qui peut nous permettre de filtrer les résultats d'un ensemble de résultats donné.

Supposons que nous souhaitions filtrer les films en fonction de la langue. Par exemple, pour récupérer les films en anglais et en japonais, nous pouvons utiliser WHERE IN dans une sous-requête comme suit :

SELECT titre, release_year, note
DE film f
OÙ id_langue DANS (
SELECT langue_id
DE la langue
OÙ nom IN (« anglais », « japonais »)
);

Dans cet exemple, nous créons une sous-requête qui récupère les valeurs « Language_id » pour les langues anglaise et japonaise à partir de la table « Languages ​​». Dans la requête principale, nous sélectionnons les films en fonction des valeurs « langage_id » résultantes.

Conclusion

Dans cet article, nous avons appris à utiliser la clause WHERE IN dans SQL pour filtrer les résultats qui correspondent à une ou plusieurs valeurs dans une liste donnée.