du ställde en fråga som är kopplad till mitt svar här .
I en enkel förklaring med hjälp av dessa uttalanden nedan,
SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
Det första påståendet omfattar bara EN KOLUMN som jämförs med flera värden .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column1 = 2 OR
column1 = 3 OR
column1 = 4
medan det andra påståendet är ETT VÄRDE som är jämfört med flera kolumner .
SELECT *
FROM TableName
WHERE column1 = 1 OR
column2 = 1 OR
column3 = 1 OR
column4 = 1
som skiljer sig lite från varandra.
UPPDATERING 1
Här är den tredje formen av IN
klausul: