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

Forskellig tilgang til at bruge IN-klausul i MySql

du stillede et spørgsmål, der er forbundet med mit svar her .

I en enkel forklaring ved hjælp af disse udsagn nedenfor,

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

Den første sætning involverer kun ÉN KOLONNE der bliver sammenlignet med flere værdier .

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

mens den anden sætning er EN VÆRDI der er sammenlignet med flere kolonner .

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

som er lidt forskellige fra hinanden.

OPDATERING 1

Her er den tredje form for IN klausul:




  1. Reducer SQL Server-licensomkostninger

  2. Konverter fra MySQL datetime til et andet format med PHP

  3. Er der nogen, der har betydelige beviser for, at CHAR er hurtigere end VARCHAR?

  4. Sådan får du en forespørgsel til at overføre til efterfølgende sider ved paginering af resultater