Der SQL IN Operator sucht eine Spalte nach einer Liste von Werten ab. 

SELECT Spalten 
FROM Tabelle 
WHERE Spalte IN (Wert1, Wert2, …); 
SQL IN

Der IN Operator wird nach der WHERE-Klausel eingesetzt. Die Werte werden in runden Klammern eingesetzt und mit Kommata (die man als OR Operatoren sehen kann) getrennt. Das bedeutet, dass die Bedingung „wahr“ ausgibt, wenn mindestens ein Wert in der Liste dem Wert in der Spalte entspricht. Es ist daher eine Liste von OR Bedingungen, bei denen der Vergleichsoperator Ist-Gleich (=) ist.

SQL IN - Beispiel

Ein Designer-Shop möchte überprüfen, welche Kleidungsstücke ausschließlich in der DACH-Region produziert wurden:

SELECT * 
FROM Kleidung 
WHERE Produktionsort IN ('Deutschland', 'Österreich', 'Schweiz'); 

Dasselbe Ergebnis ist mit einer Kette von OR Operatoren möglich:

SELECT * 
FROM Kleidung 
WHERE Produktionsort = 'Deutschland' 
   OR Produktionsort = 'Österreich' 
   OR Produktionsort = 'Schweiz'; 

Dieser Befehl ist allerdings umständlicher und länger. Je mehr Länder hinzugefügt werden, desto unübersichtlicher und fehleranfälliger wird die gesamte Abfrage.

Ein weiteres sinnvolles Anwendungsfeld ist der Ausschluss von gewissen Daten. Möchten wir alle Länder außerhalb der DACH-Region überprüfen, wird der NOT Operator benutzt:

SELECT * 
FROM Kleidung
WHERE Produktionsort NOT IN ('Deutschland', 'Österreich', 'Schweiz'); 

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!