Vizsgáljuk meg, hogyan működik ez a funkció, és hogyan tudjuk használni.
SQL IN operátor
A következő részlet az IN operátor szintaxisát mutatja be.
keresési_érték [ NEM ] BAN BEN értékkészlet
value_set:
{
( kifejezés [ , ... ] )
| ( részlekérdezés )
| HACSAK ( tömb_kifejezés )
}
A függvény a következő paramétereket fogadja el:
- search_value – ez egy kifejezést definiál, amelyet összehasonlít az adott értékkészlettel.
- value_set – az értékek halmaza, amelyből a keresési_érték összehasonlításra kerül.
- részlekérdezés – olyan segédlekérdezést ír le, amely egyetlen oszlopot ad vissza. Ha nem ad vissza értéket, az értékkészlet üres.
- UNNEST(tömb) – egy adott tömbértékből álló értékek oszlopát adja vissza.
A függvény ezután egy logikai értéket ad vissza. TRUE-t ad vissza, ha azonos érték van az adott halmazban, és FALSE-t, ha ellenkező esetben.
Példák
A következő példa bemutatja, hogyan kell használni az IN operátort oszlopadatokkal. Tegyük fel, hogy van egy táblázatunk mintaadatokkal, az alábbi módon:
Az IN operátor segítségével kiválaszthatjuk a rekordokat, ha az ország MySQL vagy PostgreSQL.
KIVÁLASZTÁS
*
TÓL TŐL
ADATBÁZISOK
AHOL
SZERVER NÉV BAN BEN ( 'MySQL' , 'PostgreSQL' ) ;
A fenti lekérdezésnek meg kell jelenítenie az egyező sorokat a képen látható módon:
Az IN operátor segítségével azt is ellenőrizhetjük, hogy egy adott oszlopban létezik-e érték. Az alábbiakban egy példa látható:
KIVÁLASZTÁS*
TÓL TŐL
ADATBÁZISOK D
AHOL
'MySQL' BAN BEN ( SZERVER NÉV ) ;
Ebben az esetben ellenőrizzük, hogy a „MySQL” érték létezik-e a szerver_neve oszlopban. Az eredmény a képen látható:
Érdemes szem előtt tartani, hogy ha duplikált értékeket adott meg az IN operátorral. Az SQL elveti az azonos értékeket, és az egyiket használja.
Következtetés
Ebben a rövid bejegyzésben megvizsgáltuk az IN operátor használatát a Standard/ANSI SQL-ben. Az IN operátor lehetővé teszi annak ellenőrzését, hogy létezik-e érték egy értékkészleten belül.
Köszönöm, hogy elolvasta!!