SQL WHERE IN-klausul

Sql Where In Klausul



I SQL kan vi bruke WHERE IN-klausulen til å filtrere ut resultatene i en gitt database. WHERE IN-leddet lar oss velge radene fra en gitt database som samsvarer med en eller flere av de angitte verdiene fra en gitt liste.

I denne opplæringen vil vi utforske WHERE IN-klausulen for å finne ut hvordan vi kan bruke den til å filtrere ut resultatene fra en gitt tabell eller et gitt resultatsett.

SQL WHERE IN-klausul

Følgende viser den grunnleggende syntaksen til WHERE IN-leddet i SQL:







VELG kolonne1, kolonne2, ...
FRA tabellnavn
WHERE kolonnenavn IN (verdi1, verdi2, ...);

Vi starter med en grunnleggende 'velg'-setning etterfulgt av kolonnene som vi ønsker å inkludere i resultatsettet.



Deretter spesifiserer vi tabellen som vi ønsker å hente resultatene fra. Til slutt spesifiserer vi filterbetingelsen ved å bruke WHERE-leddet etterfulgt av navnet på kolonnen vi ønsker å filtrere på. Etter IN-leddet spesifiserer vi en verdiliste som vi vil bruke for filtrering.



Eksempel 1: Filtrer et enkelt resultat

For bedre å demonstrere hvordan du bruker WHERE IN-klausulen, la oss se på et eksempel. Tenk på 'film'-tabellen fra Sakila-eksempeldatabasen.





Anta at vi ønsker å hente alle filmene med en vurdering på PG eller PG-13. Vi kan bruke WHERE IN-klausulen som følger:

SELECT tittel, release_year, rating
FRA film
WHERE-vurdering IN ('PG');

I dette tilfellet gir vi en liste over en enkelt verdi som vi ønsker å hente i IN-klausulen.



Eksempel 2: Filtrer flere verdier

Vi kan også spesifisere mer enn ett element i listen over verdier. For eksempel, for å hente filmene med en liste med vurderingen PG og PG-13, kan vi kjøre spørringen som følger:

SELECT tittel, release_year, rating
FRA film
WHERE rangering IN ('PG', 'PG-13');

Den resulterende utgangen er som følger:

Eksempel 3: Filtrer med underspørring

Vi kan også bruke WHERE IN i en underspørring som kan tillate oss å filtrere ut resultatene fra et gitt resultatsett.

Anta at vi ønsker å filtrere filmene basert på språket. For å hente filmene på engelsk og japansk kan vi for eksempel bruke WHERE IN i en underspørring som følger:

SELECT tittel, release_year, rating
FRA film f
WHERE language_id IN (
SELECT language_id
FRA språk
WHERE name IN ('engelsk', 'japansk')
);

I dette eksemplet lager vi en underspørring som henter «language_id»-verdiene for engelsk og japansk fra «languages»-tabellen. I hovedspørringen velger vi filmene basert på de resulterende 'language_id'-verdiene.

Konklusjon

I dette innlegget lærte vi å jobbe med WHERE IN-leddet i SQL for å filtrere ut resultatene som samsvarer med en enkelt eller flere verdier i en gitt liste.