sql >> Databasteknik >  >> RDS >> Mysql

Olika sätt att använda IN-klausul i MySql

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:




  1. uppdatera om två fält finns, infoga om inte (MySQL)

  2. hur man skickar variabel från skalskript till sqlplus

  3. hur frågar man många-till-många?

  4. Buffertar (cirkel) i PostGIS