SQL WHERE IN-clausule

Sql Where In Clausule



In SQL kunnen we de WHERE IN-clausule gebruiken om de resultaten in een bepaalde database eruit te filteren. Met de WHERE IN-clausule kunnen we de rijen uit een bepaalde database selecteren die overeenkomen met een of meer van de opgegeven waarden uit een bepaalde lijst.

In deze zelfstudie verkennen we de WHERE IN-clausule om te ontdekken hoe we deze kunnen gebruiken om de resultaten uit een bepaalde tabel of resultatenset te filteren.

SQL WHERE IN-clausule

Hieronder ziet u de basissyntaxis van de WHERE IN-clausule in SQL:







SELECTEER kolom1, kolom2, ...
FROM tabelnaam
WHERE kolomnaam IN (waarde1, waarde2, ...);

We beginnen met een eenvoudige ‘select’-instructie, gevolgd door de kolommen die we in de resultatenset willen opnemen.



Vervolgens specificeren we de tabel waaruit we de resultaten willen ophalen. Ten slotte specificeren we de filtervoorwaarde met behulp van de WHERE-clausule, gevolgd door de naam van de kolom waarop we willen filteren. Na de IN-clausule specificeren we een lijst met waarden die we willen gebruiken voor het filteren.



Voorbeeld 1: Filter één resultaat

Laten we een voorbeeld bekijken om beter te demonstreren hoe u de WHERE IN-clausule gebruikt. Beschouw de “film”-tabel uit de voorbeelddatabase van Sakila.





Stel dat we alle films met een beoordeling van PG of PG-13 willen ophalen. We kunnen de WHERE IN-clausule als volgt gebruiken:

SELECTEER titel, releasejaar, beoordeling
VAN film
WHERE-beoordeling IN ('PG');

In dit geval bieden we een lijst met een enkele waarde die we willen ophalen in de IN-clausule.



Voorbeeld 2: meerdere waarden filteren

We kunnen ook meer dan één item in de lijst met waarden opgeven. Om bijvoorbeeld de films op te halen met een lijst met een beoordeling van PG en PG-13, kunnen we de zoekopdracht als volgt uitvoeren:

SELECTEER titel, releasejaar, beoordeling
VAN film
WHERE-beoordeling IN ('PG', 'PG-13');

De resulterende uitvoer is als volgt:

Voorbeeld 3: Filter met subquery

We kunnen WHERE IN ook in een subquery gebruiken, waardoor we de resultaten uit een bepaalde resultatenset kunnen filteren.

Stel dat we de films willen filteren op basis van de taal. Om bijvoorbeeld de films in de Engelse en Japanse taal op te halen, kunnen we de WHERE IN binnen een subquery als volgt gebruiken:

SELECTEER titel, releasejaar, beoordeling
UIT film f
WHERE taal_id IN (
SELECTEER taal_id
VAN taal
WHERE naam IN ('Engels', 'Japans')
);

In dit voorbeeld maken we een subquery die de waarden “taal_id” voor de Engelse en Japanse talen ophaalt uit de tabel “talen”. In de hoofdquery selecteren we de films op basis van de resulterende “taal_id”-waarden.

Conclusie

In dit bericht hebben we geleerd hoe we met de WHERE IN-clausule in SQL kunnen werken om de resultaten eruit te filteren die overeenkomen met een enkele of meerdere waarden in een bepaalde lijst.