SQL WHERE IN klauzula

Sql Where In Klauzula



U SQL-u možemo koristiti klauzulu WHERE IN za filtriranje rezultata u danoj bazi podataka. Klauzula WHERE IN omogućuje nam odabir redaka iz dane baze podataka koji odgovaraju jednoj ili više navedenih vrijednosti s danog popisa.

U ovom vodiču istražit ćemo klauzulu WHERE IN da otkrijemo kako je možemo koristiti za filtriranje rezultata iz zadane tablice ili skupa rezultata.

SQL WHERE IN klauzula

Sljedeće prikazuje osnovnu sintaksu WHERE IN klauzule u SQL-u:







SELECT stupac1, stupac2, ...
FROM naziv_tablice
WHERE naziv_stupca IN (vrijednost1, vrijednost2, ...);

Počinjemo s osnovnom naredbom 'select' nakon koje slijede stupci koje želimo uključiti u skup rezultata.



Zatim specificiramo tablicu iz koje želimo dohvatiti rezultate. Na kraju, specificiramo uvjet filtra pomoću klauzule WHERE iza koje slijedi naziv stupca na kojem želimo filtrirati. Nakon klauzule IN navodimo popis vrijednosti koje želimo koristiti za filtriranje.



Primjer 1: Filtriranje jednog rezultata

Da bismo bolje demonstrirali kako koristiti klauzulu WHERE IN, pogledajmo primjer. Razmotrite tablicu 'film' iz uzorka baze podataka Sakila.





Pretpostavimo da želimo dohvatiti sve filmove s ocjenom PG ili PG-13. WHERE IN klauzulu možemo koristiti na sljedeći način:

ODABERITE naslov, godinu_izlaska, ocjenu
IZ filma
WHERE ocjena IN ('PG');

U ovom slučaju pružamo popis jedne vrijednosti koju želimo dohvatiti u klauzuli IN.



Primjer 2: Filtriranje više vrijednosti

Također možemo navesti više od jedne stavke na popisu vrijednosti. Na primjer, da bismo dohvatili filmove s popisom s ocjenom PG i PG-13, možemo pokrenuti upit na sljedeći način:

ODABERITE naslov, godinu_izlaska, ocjenu
IZ filma
WHERE ocjena IN ('PG', 'PG-13');

Rezultirajući izlaz je sljedeći:

Primjer 3: Filtar s podupitom

Također možemo koristiti WHERE IN u podupitu koji nam može omogućiti filtriranje rezultata iz zadanog skupa rezultata.

Pretpostavimo da želimo filtrirati filmove na temelju jezika. Na primjer, da bismo dohvatili filmove na engleskom i japanskom jeziku, možemo koristiti WHERE IN unutar podupita na sljedeći način:

ODABERITE naslov, godinu_izlaska, ocjenu
IZ filma f
WHERE language_id IN (
SELECT language_id
IZ jezika
WHERE ime IN ('engleski', 'japanski')
);

U ovom primjeru stvaramo podupit koji dohvaća vrijednosti 'language_id' za engleski i japanski jezik iz tablice 'languages'. U glavnom upitu odabiremo filmove na temelju dobivenih vrijednosti 'language_id'.

Zaključak

U ovom smo postu naučili kako raditi s klauzulom WHERE IN u SQL-u kako bismo filtrirali rezultate koji odgovaraju jednoj ili više vrijednosti na danom popisu.