Pojďme se podívat, jak tato funkce funguje a jak ji můžeme využít.
Operátor SQL IN
Následující úryvek ukazuje syntaxi operátoru IN.
vyhledávací_hodnota [ NE ] V value_set
value_set:
{
( výraz [ , ... ] )
| ( poddotaz )
| POKUD ( pole_výraz )
}
Funkce přijímá následující parametry:
- search_value – definuje výraz, který je porovnáván s danou množinou hodnot.
- value_set – sada hodnot, ze kterých se porovnává search_value.
- poddotaz – popisuje poddotaz, který vrací jeden sloupec. Pokud nejsou vráceny žádné hodnoty, je sada hodnot prázdná.
- UNNEST(pole) – vrací sloupec hodnot z dané hodnoty pole.
Funkce pak vrátí booleovskou hodnotu. Vrátí TRUE, pokud v dané sadě existuje stejná hodnota, a FALSE, pokud tomu tak není.
Příklady
Následující příklad ukazuje, jak použít operátor IN s daty sloupců. Předpokládejme, že máme tabulku s ukázkovými daty, jak je znázorněno:
Operátor IN můžeme použít k výběru záznamů, pokud je země MySQL nebo PostgreSQL.
VYBRAT
*
Z
DATABÁZE
KDE
SERVER_NAME V ( 'MySQL' , 'PostgreSQL' ) ;
Výše uvedený dotaz by měl zobrazit odpovídající řádky, jak je znázorněno:
Pomocí operátoru IN můžeme také zkontrolovat, zda v daném sloupci existuje hodnota. Příklad je uveden níže:
VYBRAT*
Z
DATABÁZE D
KDE
'MySQL' V ( SERVER_NAME ) ;
V tomto případě zkontrolujeme, zda ve sloupci server_name existuje hodnota „MySQL“. Výsledek je takový, jak je uvedeno:
Je dobré mít na paměti, že pokud jste u operátora IN zadali duplicitní hodnoty. SQL zahodí identické hodnoty a použije jednu z nich.
Závěr
V tomto krátkém příspěvku jsme prozkoumali použití operátoru IN ve standardním/ANSI SQL. Operátor IN vám umožňuje zkontrolovat, zda v sadě hodnot existuje nějaká hodnota.
Děkuji za přečtení!!