SQL IN operátor – Více hodnot v podmínce

IN operátor v t-sql použijeme v případě, kdy potřebujeme ve WHERE klauzuli vymezit podmínku současně na několik diskrétních hodnot. Je podobný s operátorem BETWEEN, ale je tam jeden velký rozdíl.

Rozdíl mezi IN a BETWEEN:

  • BETWEEN použijeme k definování rozsahu, který je spojitý
  • IN používáme k definování hodnot, které jsou diskrétní – nespojité

Syntaxe IN operátoru

SELECT Datum
FROM dbo.Tabulka
WHERE Datum IN ('2017-05-01', '2017-05-03')

Jak vidíme, za operátorem následuje závorka a v ní jsou hodnoty oddělené čárkou. Podobným způsobem můžeme data vymezit i negativně s použítím prefixu „NOT IN“.

Dotaz výše je ekvivalentní s dotazem:

SELECT Datum
FROM dbo.Tabulka
WHERE Datum = '2017-05-01' OR Datum = '2017-05-03'

Operátor IN ale udržuje kód přehlednější

Reagovat na příspěvek