zadałeś pytanie związane z moją odpowiedzią tutaj .
W prostym wyjaśnieniu, korzystając z poniższych stwierdzeń,
SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
Pierwsze stwierdzenie obejmuje tylko JEDNĄ KOLUMNĘ czyli porównywane z wieloma wartościami .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column1 = 2 OR
column1 = 3 OR
column1 = 4
podczas gdy drugie stwierdzenie to WARTOŚĆ czyli w porównaniu z wieloma kolumnami .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column2 = 1 OR
column3 = 1 OR
column4 = 1
które nieco się od siebie różnią.
AKTUALIZACJA 1
Oto trzecia forma IN
klauzula: