Résumé: dans ce tutoriel, vous apprendrez à utiliser l’opérateur PostgreSQL IN dans la clause WHERE
pour vérifier si une valeur correspond à une valeur d’une liste.
PostgreSQL DANS la syntaxe des opérateurs
Vous utilisez l’opérateur IN
dans la clause WHERE
pour vérifier si une valeur correspond à une valeur d’une liste de valeurs.
La syntaxe de l’opérateur IN
est la suivante:
Code language: SQL (Structured Query Language) (sql)
L’opérateur IN
renvoie true si value
correspond à n’importe quelle valeur de la liste, c’est-à-dire, value1
, value2
, …
La liste de valeurs peut être une liste de valeurs littérales telles que des nombres, des chaînes ou le résultat d’une instruction SELECT
comme celle-ci:
Code language: SQL (Structured Query Language) (sql)
La requête à l’intérieur des parenthèses est appelée une sous-requête, qui est une requête imbriquée dans une autre requête. Notez que vous en apprendrez plus sur la sous-requête dans le didacticiel suivant
PostgreSQL DANS les exemples d’opérateurs
Supposons que vous souhaitiez connaître les informations de location des id client 1 et 2, vous pouvez utiliser l’opérateur IN
dans la clause WHERE
comme suit:
La requête suivante utilise les opérateurs equal (=
) et OR
au lieu de l’opérateur IN. Elle est équivalente à la requête ci-dessus :
La requête qui utilise l’opérateur IN
est plus courte et plus lisible que la requête qui utilise les opérateurs equal (=
) et OR
. De plus, PostgreSQL exécute la requête avec l’opérateur IN
beaucoup plus rapidement que la même requête qui utilise une liste d’opérateurs OR
.
PostgreSQL PAS DANS l’opérateur
Vous pouvez combiner l’opérateur IN
avec l’opérateur NOT
pour sélectionner des lignes dont les valeurs ne correspondent pas aux valeurs de la liste.
Par exemple, la déclaration suivante indique que toutes les locations dont l’ID client n’est pas 1 ou 2.
Similaire à l’opérateur IN
, vous pouvez utiliser les opérateurs not equal (<>
) et AND
pour écrire l’opérateur NOT IN
:
Cette requête renvoie la même sortie que la requête ci-dessus qui utilise l’opérateur NOT IN
.
PostgreSQL DANS avec une sous-requête
La requête suivante renvoie une liste d’ID client de la table rental
avec la date de retour est 2005-05-27
:
Comme cette requête renvoie une liste de valeurs, vous pouvez l’utiliser comme entrée de l’opérateur IN
comme ceci:
Pour plus d’informations sur la sous-requête, consultez le tutoriel sur la sous-requête.
Dans ce tutoriel, vous avez appris à utiliser l’opérateur PostgreSQL IN
pour vérifier si une valeur correspond à une valeur d’une liste de valeurs.
- Ce tutoriel a-t-il été utile?
- Ouinon