você levantou uma pergunta relacionada à minha resposta aqui .
Em uma explicação simples usando estas declarações abaixo,
SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
A primeira instrução envolve apenas UMA COLUNA que está sendo comparado com vários valores .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column1 = 2 OR
column1 = 3 OR
column1 = 4
enquanto a segunda instrução é A VALUE que é comparado com várias colunas .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column2 = 1 OR
column3 = 1 OR
column4 = 1
que é um pouco diferente um do outro.
ATUALIZAÇÃO 1
Aqui está a terceira forma de
IN
cláusula: