Raziščimo, kako ta funkcija deluje in kako jo lahko uporabimo.
Operator SQL IN
Naslednji delček prikazuje sintakso za operator IN.
iskalna_vrednost [ NE ] IN nabor_vrednosti
nabor_vrednosti:
{
( izražanje [ , ... ] )
| ( podpoizvedbo )
| RAZEN ( matrični_izraz )
}
Funkcija sprejme naslednje parametre:
- search_value – to definira izraz, ki se primerja z danim nizom vrednosti.
- value_set – niz vrednosti, s katerimi se primerja search_value.
- podpoizvedba – opisuje podpoizvedbo, ki vrne en sam stolpec. Če ni vrnjena nobena vrednost, je niz vrednosti prazen.
- UNNEST(matrika) – vrne stolpec vrednosti iz dane vrednosti matrike.
Funkcija nato vrne logično vrednost. Vrne TRUE, če v danem nizu obstaja enaka vrednost, in FALSE, če ni.
Primeri
Naslednji primer prikazuje, kako uporabiti operator IN s podatki stolpca. Recimo, da imamo tabelo z vzorčnimi podatki, kot je prikazano:
Za izbiro zapisov lahko uporabimo operator IN, če je država MySQL ali PostgreSQL.
IZBERI
*
OD
PODATKOVNE BAZE
KJE
SERVER_NAME IN ( 'MySQL' , 'PostgreSQL' ) ;
Zgornja poizvedba bi morala prikazati ujemajoče se vrstice, kot je prikazano:
Z operatorjem IN lahko tudi preverimo, ali v določenem stolpcu obstaja vrednost. Spodaj je prikazan primer:
IZBERI*
OD
PODATKOVNE BAZE D
KJE
'MySQL' IN ( SERVER_NAME ) ;
V tem primeru preverimo, ali obstaja vrednost 'MySQL' v stolpcu server_name. Rezultat je prikazan:
Dobro je upoštevati, da če ste z operatorjem IN navedli podvojene vrednosti. SQL bo zavrgel enake vrednosti in uporabil eno od njih.
Zaključek
V tej kratki objavi smo raziskali uporabo operatorja IN v standardnem/ANSI SQL. Operator IN vam omogoča, da preverite, ali vrednost obstaja znotraj nabora vrednosti.
Hvala za branje!!