vous avez soulevé une question liée à ma réponse ici .
Dans une explication simple utilisant les déclarations ci-dessous,
SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
La première instruction n'implique qu'une UNE COLONNE qui est comparée à plusieurs valeurs .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column1 = 2 OR
column1 = 3 OR
column1 = 4
tandis que la deuxième instruction est UNE VALEUR qui est comparé à plusieurs colonnes .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column2 = 1 OR
column3 = 1 OR
column4 = 1
qui sont un peu différents les uns des autres.
MISE À JOUR 1
Voici la troisième forme de IN
clause :