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 v SQL
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ší