Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterschiedlicher Ansatz zur Verwendung der IN-Klausel in MySQL

Sie haben hier eine Frage gestellt, die mit meiner Antwort zusammenhängt .

In einer einfachen Erklärung mit diesen Anweisungen unten,

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

Die erste Anweisung umfasst nur EINE SPALTE das mit mehreren Werten verglichen wird .

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

während die zweite Anweisung A VALUE ist das wird mit mehreren Spalten verglichen .

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

die sich etwas voneinander unterscheiden.

AKTUALISIERUNG 1

Hier ist die dritte Form von IN Klausel: