Mysql
 sql >> Database >  >> RDS >> Mysql

Approccio diverso all'utilizzo della clausola IN in MySql

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: