Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie den Operator PostgreSQL IN in der Klausel WHERE
verwenden, um zu überprüfen, ob ein Wert mit einem Wert in einer Liste übereinstimmt.
PostgreSQL IN Operatorsyntax
Sie verwenden den Operator IN
in der Klausel WHERE
, um zu überprüfen, ob ein Wert mit einem Wert in einer Werteliste übereinstimmt.
Die Syntax des Operators IN
lautet wie folgt:
Code language: SQL (Structured Query Language) (sql)
Der Operator IN
gibt true zurück, wenn value
mit einem beliebigen Wert in der Liste übereinstimmt, dh., value1
, value2
, …
Die Liste der Werte kann eine Liste von Literalwerten wie Zahlen, Zeichenfolgen oder das Ergebnis einer SELECT
-Anweisung wie dieser sein:
Code language: SQL (Structured Query Language) (sql)
Die Abfrage in den Klammern wird als Unterabfrage bezeichnet, bei der es sich um eine Abfrage handelt, die in einer anderen Abfrage verschachtelt ist. Beachten Sie, dass Sie im folgenden Tutorial mehr über die Unterabfrage erfahren
PostgreSQL IN operator examples
Angenommen, Sie möchten die Mietinformationen der Kunden-ID 1 und 2 kennen, Sie können den Operator IN
in der Klausel WHERE
wie folgt verwenden:
Die folgende Abfrage verwendet die Operatoren equal (=
) und OR
anstelle des Operators IN. Sie entspricht der obigen Abfrage:
Die Abfrage, die den Operator IN
verwendet, ist kürzer und lesbarer als die Abfrage, die die Operatoren equal (=
) und OR
verwendet. Darüber hinaus führt PostgreSQL die Abfrage mit dem Operator IN
viel schneller aus als dieselbe Abfrage, die eine Liste von Operatoren OR
verwendet.
PostgreSQL NOT IN operator
Sie können den Operator IN
mit dem Operator NOT
kombinieren, um Zeilen auszuwählen, deren Werte nicht mit den Werten in der Liste übereinstimmen.
Die folgende Anweisung findet beispielsweise alle Anmietungen, bei denen die Kunden-ID nicht 1 oder 2 ist.
Ähnlich wie beim Operator IN
können Sie die Operatoren not equal (<>
) und AND
verwenden, um den Operator NOT IN
zu schreiben:
Diese Abfrage gibt dieselbe Ausgabe zurück wie die obige Abfrage, die den Operator NOT IN
verwendet.
PostgreSQL IN mit einer Unterabfrage
Die folgende Abfrage gibt eine Liste der Kunden-IDs aus der Tabelle rental
mit dem Rückgabedatum zurück 2005-05-27
:
Da diese Abfrage eine Liste von Werten zurückgibt, können Sie sie wie folgt als Eingabe für den Operator IN
verwenden:
Weitere Informationen zur Unterabfrage finden Sie im Unterabfrage-Tutorial.
In diesem Tutorial haben Sie gelernt, wie Sie mit dem PostgreSQL-Operator IN
überprüfen, ob ein Wert mit einem Wert in einer Werteliste übereinstimmt.
- War dieses Tutorial hilfreich ?
- JaNein