sql >> Base de Datos >  >> RDS >> Mysql

Enfoque diferente de usar la cláusula IN en MySql

planteaste una pregunta que está relacionada con mi respuesta aquí .

En una explicación simple usando estas declaraciones a continuación,

SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
-- versus
SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)

La primera declaración involucra solo UNA COLUMNA que se compara con múltiples valores .

SELECT  *
FROM   TableName
WHERE  column1 = 1 OR
       column1 = 2 OR
       column1 = 3 OR
       column1 = 4

mientras que la segunda declaración es UN VALOR que se compara con varias columnas .

SELECT  *
FROM   TableName
WHERE  column1 = 1 OR
       column2 = 1 OR
       column3 = 1 OR
       column4 = 1

que es un poco diferente entre sí.

ACTUALIZACIÓN 1

Aquí está la tercera forma de IN cláusula: