Pozrime sa, ako táto funkcia funguje a ako ju môžeme použiť.
Operátor SQL IN
Nasledujúci úryvok zobrazuje syntax operátora IN.
hľadaná_hodnota [ NIE ] IN value_set
value_set:
{
( výraz [ , ... ] )
| ( poddotaz )
| POKIAĽ ( pole_výraz )
}
Funkcia akceptuje nasledujúce parametre:
- search_value – definuje výraz, ktorý sa porovnáva s danou množinou hodnôt.
- value_set – množina hodnôt, s ktorými sa porovnáva hľadaná_hodnota.
- poddotaz – popisuje poddotaz, ktorý vracia jeden stĺpec. Ak sa nevrátia žiadne hodnoty, sada hodnôt je prázdna.
- UNNEST(pole) – vráti stĺpec hodnôt z danej hodnoty poľa.
Funkcia potom vráti boolovskú hodnotu. Ak v danej množine existuje rovnaká hodnota, vráti hodnotu TRUE a v opačnom prípade vráti hodnotu FALSE.
Príklady
Nasledujúci príklad ukazuje, ako používať operátor IN s údajmi stĺpca. Predpokladajme, že máme tabuľku so vzorovými údajmi, ako je znázornené:
Na výber záznamov môžeme použiť operátor IN, ak ide o krajinu MySQL alebo PostgreSQL.
VYBRAŤ
*
OD
DATABÁZE
KDE
NÁZOV SERVERA IN ( 'MySQL' , 'PostgreSQL' ) ;
Vyššie uvedený dotaz by mal zobraziť zodpovedajúce riadky, ako je znázornené:
Pomocou operátora IN môžeme tiež skontrolovať, či v danom stĺpci existuje hodnota. Príklad je uvedený nižšie:
VYBRAŤ*
OD
DATABÁZE D
KDE
'MySQL' IN ( NÁZOV SERVERA ) ;
V tomto prípade skontrolujeme, či v stĺpci server_name existuje hodnota „MySQL“. Výsledok je takýto:
Je dobré mať na pamäti, že ak ste u operátora IN uviedli duplicitné hodnoty. SQL zahodí identické hodnoty a použije jednu z nich.
Záver
V tomto krátkom príspevku sme skúmali použitie operátora IN v štandardnom/ANSI SQL. Operátor IN vám umožňuje skontrolovať, či hodnota existuje v rámci množiny hodnôt.
Vďaka za prečítanie!!