SQL WHERE IN záradék

Sql Where In Zaradek



SQL-ben a WHERE IN záradékkal kiszűrhetjük az eredményeket egy adott adatbázisban. A WHERE IN záradék lehetővé teszi, hogy egy adott adatbázisból kiválasszuk azokat a sorokat, amelyek egy vagy több megadott értéknek megfelelnek egy adott listából.

Ebben az oktatóanyagban megvizsgáljuk a WHERE IN záradékot, hogy megtudjuk, hogyan használhatjuk ki az eredményeket egy adott táblázatból vagy eredményhalmazból.

SQL WHERE IN záradék

Az alábbiakban látható a WHERE IN záradék alapvető szintaxisa SQL-ben:







SELECT oszlop1, oszlop2, ...
FROM tábla_neve
WHERE oszlopnév IN (érték1, érték2, ...);

Kezdjük egy alapvető „select” utasítással, majd azokkal az oszlopokkal, amelyeket be kívánunk venni az eredménykészletbe.



Ezután adjuk meg azt a táblázatot, amelyből az eredményeket szeretnénk lekérni. Végül megadjuk a szűrési feltételt a WHERE záradékkal, majd annak az oszlopnak a nevével, amelyre szűrni szeretnénk. Az IN záradék után megadjuk a szűréshez használni kívánt értékek listáját.



1. példa: Egyetlen eredmény szűrése

A WHERE IN záradék használatának jobb bemutatása érdekében nézzünk meg egy példát. Tekintsük a Sakila mintaadatbázis „film” táblázatát.





Tegyük fel, hogy az összes PG vagy PG-13 besorolású filmet le akarjuk kérni. A WHERE IN záradékot a következőképpen használhatjuk:

SELECT cím, kiadás_év, értékelés
A filmből
WHERE minősítés IN ('PG');

Ebben az esetben megadunk egy listát egyetlen értékről, amelyet az IN záradékban szeretnénk lekérni.



2. példa: Több érték szűrése

Az értéklistában egynél több elemet is megadhatunk. Például a PG és PG-13 besorolású listával rendelkező filmek lekéréséhez a következőképpen futtathatjuk a lekérdezést:

SELECT cím, kiadás_év, értékelés
A filmből
WHERE besorolás IN ('PG', 'PG-13');

A kapott kimenet a következő:

3. példa: Szűrés segédlekérdezéssel

Allekérdezésben is használhatjuk a WHERE IN-t, amely lehetővé teszi számunkra, hogy kiszűrjük az eredményeket egy adott eredményhalmazból.

Tegyük fel, hogy a nyelv alapján szeretnénk szűrni a filmeket. Például a filmek angol és japán nyelvű lekéréséhez használhatjuk a WHERE IN-t egy segédlekérdezésben a következőképpen:

SELECT cím, kiadás_év, értékelés
filmből f
WHERE nyelv_azonosító IN (
SELECT language_id
nyelvből
WHERE név IN ('angol', 'japán')
);

Ebben a példában létrehozunk egy segédlekérdezést, amely lekéri a „language_id” értékeket angol és japán nyelvre a „languages” táblából. A fő lekérdezésben a kapott „language_id” értékek alapján választjuk ki a filmeket.

Következtetés

Ebben a bejegyzésben megtanultuk, hogyan kell dolgozni a WHERE IN záradékkal az SQL-ben, hogy kiszűrjük azokat az eredményeket, amelyek egy vagy több értéknek felelnek meg egy adott listában.