- Kategorien:
[ NOT ] IN¶
Prüft, ob das Argument auf einer expliziten Liste steht oder das Ergebnis einer Subquery ist oder nicht.
Bemerkung
In der Unterabfrageform ist IN gleich = ANY
und NOT IN gleich <> ALL
.
Syntax¶
<value> [ NOT ] IN ( <value1> , <value2> , ... )
<value> [ NOT ] IN ( ( <value1> , <value2> , ... ) , ( <value3> , <value4> , ... ) )
<value> [ NOT ] IN ( <subquery> )
Nutzungshinweise¶
Wie in den meisten Kontexten ist NULL nicht gleich NULL. Wenn <Wert> NULL ist, lautet der Rückgabewert der Funktion NULL, unabhängig davon, ob die Liste oder Unterabfrage NULL enthält.
Sortierungsdetails¶
Arguments with collation specifications are currently not supported.
Beispiele¶
Die folgenden Beispiele veranschaulichen die Verwendung von IN
in Literalen.
SELECT CASE WHEN 1 IN (1, 2, 3) THEN 'true' ELSE 'false' END AS RESULT; +--------+ | RESULT | |--------| | true | +--------+SELECT CASE WHEN 'a' NOT IN (SELECT column1 FROM VALUES ('b'), ('c'), ('d')) THEN 'true' ELSE 'false' END AS RESULT; +--------+ | RESULT | |--------| | true | +--------+
In diesem Beispiel wird die Verwendung von IN
mit einer Tabelle veranschaulicht:
CREATE TABLE MyTable (col_1 INTEGER, col_2 INTEGER, col_3 INTEGER); INSERT INTO MyTable (col_1, col_2, col_3) VALUES (1, 1, 1), (1, 2, 3), (4, 5, NULL);SELECT * FROM MYTABLE WHERE (col_1, col_2, col_3) IN ((1,2,3),(4,5,6)); +-------+-------+-------+ | COL_1 | COL_2 | COL_3 | |-------+-------+-------| | 1 | 2 | 3 | +-------+-------+-------+Denken Sie daran, dass NULL != NULL. Folgendes Beispiel zeigt, dass „(4, 5, NULL)“ nicht mit sich selbst übereinstimmt, weil NULL nicht mit sich selbst übereinstimmt:
SELECT * FROM MYTABLE WHERE (col_1, col_2, col_3) IN ((9, 8, 7), (4, 5, NULL)); +-------+-------+-------+ | COL_1 | COL_2 | COL_3 | |-------+-------+-------| +-------+-------+-------+
Hier ist ein einfaches Beispiel für die Verwendung von NOT IN
:
SELECT * FROM MYTABLE WHERE (col_1, col_2, col_3) NOT IN ((1, 1, 1), (2, 2, 2)); +-------+-------+-------+ | COL_1 | COL_2 | COL_3 | |-------+-------+-------| | 1 | 2 | 3 | | 4 | 5 | NULL | +-------+-------+-------+