SQL WHERE IN-Klausel

Sql Where In Klausel



In SQL können wir die WHERE IN-Klausel verwenden, um die Ergebnisse in einer bestimmten Datenbank herauszufiltern. Mit der WHERE IN-Klausel können wir die Zeilen aus einer bestimmten Datenbank auswählen, die einem oder mehreren der angegebenen Werte aus einer bestimmten Liste entsprechen.

In diesem Tutorial werden wir die WHERE IN-Klausel untersuchen, um herauszufinden, wie wir sie verwenden können, um die Ergebnisse aus einer bestimmten Tabelle oder Ergebnismenge herauszufiltern.

SQL WHERE IN-Klausel

Im Folgenden wird die grundlegende Syntax der WHERE IN-Klausel in SQL gezeigt:







SELECT Spalte1, Spalte2, ...
VON Tabellenname
WHERE Spaltenname IN (Wert1, Wert2, ...);

Wir beginnen mit einer einfachen „select“-Anweisung, gefolgt von den Spalten, die wir in die Ergebnismenge aufnehmen möchten.



Als nächstes geben wir die Tabelle an, aus der wir die Ergebnisse abrufen möchten. Zuletzt geben wir die Filterbedingung mit der WHERE-Klausel an, gefolgt vom Namen der Spalte, nach der wir filtern möchten. Nach der IN-Klausel geben wir eine Werteliste an, die wir zum Filtern verwenden möchten.



Beispiel 1: Ein einzelnes Ergebnis filtern

Um die Verwendung der WHERE IN-Klausel besser zu veranschaulichen, schauen wir uns ein Beispiel an. Betrachten Sie die Tabelle „Film“ aus der Sakila-Beispieldatenbank.





Angenommen, wir möchten alle Filme mit einer Altersfreigabe von PG oder PG-13 abrufen. Wir können die WHERE IN-Klausel wie folgt verwenden:

SELECT Titel, Erscheinungsjahr, Bewertung
VOM Film
WHERE Bewertung IN ('PG');

In diesem Fall stellen wir eine Liste eines einzelnen Werts bereit, den wir in der IN-Klausel abrufen möchten.



Beispiel 2: Mehrere Werte filtern

Wir können auch mehr als ein Element in der Werteliste angeben. Um beispielsweise die Filme mit einer Liste mit einer Bewertung von PG und PG-13 abzurufen, können wir die Abfrage wie folgt ausführen:

SELECT Titel, Erscheinungsjahr, Bewertung
VOM Film
WHERE-Bewertung IN ('PG', 'PG-13');

Die resultierende Ausgabe lautet wie folgt:

Beispiel 3: Filter mit Unterabfrage

Wir können WHERE IN auch in einer Unterabfrage verwenden, um die Ergebnisse aus einer bestimmten Ergebnismenge herauszufiltern.

Angenommen, wir möchten die Filme nach der Sprache filtern. Um beispielsweise die Filme in den Sprachen Englisch und Japanisch abzurufen, können wir WHERE IN in einer Unterabfrage wie folgt verwenden:

SELECT Titel, Erscheinungsjahr, Bewertung
VON film f
WHERE language_id IN (
SELECT language_id
VON Sprache
WHERE Name IN („Englisch“, „Japanisch“)
);

In diesem Beispiel erstellen wir eine Unterabfrage, die die „Sprache_ID“-Werte für die Sprachen Englisch und Japanisch aus der Tabelle „Sprachen“ abruft. In der Hauptabfrage wählen wir die Filme anhand der resultierenden „Sprache_ID“-Werte aus.

Abschluss

In diesem Beitrag haben wir gelernt, wie man mit der WHERE IN-Klausel in SQL arbeitet, um die Ergebnisse herauszufiltern, die einem einzelnen oder mehreren Werten in einer bestimmten Liste entsprechen.