hai sollevato una domanda collegata alla mia risposta qui .
In una semplice spiegazione utilizzando queste affermazioni di seguito,
SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
La prima affermazione riguarda solo UNA COLONNA che viene confrontato con più valori .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column1 = 2 OR
column1 = 3 OR
column1 = 4
mentre la seconda affermazione è A VALUE cioè rispetto a più colonne .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column2 = 1 OR
column3 = 1 OR
column4 = 1
che è un po' diverso l'uno dall'altro.
AGGIORNAMENTO 1
Ecco la terza forma di IN
clausola: