Il existe deux manières d'utiliser l'opérateur IN pour plusieurs champs en SQL : via une sous-requête ou en listant directement plusieurs valeurs. Les sous-requêtes sont utilisées pour récupérer les valeurs d'autres requêtes, tandis que plusieurs valeurs peuvent être répertoriées directement séparées par des virgules. L'opérateur IN vérifie si une valeur donnée figure dans la liste des valeurs spécifiées.
Utilisation IN dans plusieurs champs en SQL
L'opérateur IN est utilisé pour vérifier si une valeur donnée est dans la liste des valeurs spécifiées. Lorsque vous devez vérifier plusieurs champs, vous pouvez utiliser une sous-requête ou plusieurs valeurs dans l'opérateur IN.
Sous-requête
Une sous-requête est une requête imbriquée utilisée pour récupérer des données d'une base de données. Il peut être utilisé dans l'opérateur IN pour comparer les valeurs de plusieurs champs avec celui-ci. La syntaxe est la suivante :
<code class="sql">SELECT * FROM table_name WHERE (column1, column2, ...) IN ( SELECT column1, column2, ... FROM subquery );</code>
Par exemple :
<code class="sql">SELECT * FROM orders WHERE (order_id, customer_id) IN ( SELECT order_id, customer_id FROM order_details );</code>
Valeurs multiples
Vous pouvez également spécifier plusieurs valeurs dans l'opérateur IN, séparées par des virgules. La syntaxe est la suivante :
<code class="sql">SELECT * FROM table_name WHERE (column1, column2, ...) IN (value1, value2, ...);</code>
Par exemple :
<code class="sql">SELECT * FROM customers WHERE (first_name, last_name) IN ('John', 'Doe');</code>
Exemple
Considérons un tableau orders
contenant les données suivantes :
order_id | customer_id | product_id |
---|---|---|
101 | 1 | 201 |
102 | 1 | 301 |
103 | 2 | 201 |
104 | 2 | 302 |
Pour connaître les clients qui ont commandé le produit 201 ou 302, vous pouvez utiliser l'opérateur IN :
<code class="sql">SELECT * FROM orders WHERE (product_id) IN (201, 302);</code>
Le résultat sera :
order_id | customer_id | product_id |
---|---|---|
101 | 1 | 201 |
102 | 1 | 301 |
103 | 2 | 201 |
104 | 2 | 302 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!