SQL IN Operator: Eine Anleitung
Der SQL IN-Operator wird in dieser Anleitung zusammen mit der WHERE-Klausel verwendet, um mehrere Werte als Teil der WHERE-Klausel anzugeben.
1. SQL IN
Der SQL IN-Operator ist fast wie das Vorhandensein mehrerer ODER-Operatoren für dieselbe Spalte. Lassen Sie uns im Detail über den SQL IN-Operator sprechen. Es gibt zwei Möglichkeiten, den IN-Operator zu definieren. Wir werden beide Möglichkeiten unten im Detail besprechen.
1.1) Mehrere Werte als Teil von IN
Syntax:
SELECT Spalte(n) FROM tabelle_name WHERE spalte IN (wert1, wert2, ... wertN);
Mit der oben genannten Syntax können wir mehrere Werte als Teil des IN-Operators definieren. Wir werden die oben genannte Syntax durch einige Beispiele detaillierter verstehen. Betrachten wir die folgende Schülertabelle zu Beispielzwecken.
RollNr | SchülerName | SchülerGeschlecht | SchülerAlter | SchülerProzent |
---|---|---|---|---|
1 | George | M | 14 | 85 |
2 | Monica | F | 12 | 88 |
3 | Jessica | F | 13 | 84 |
4 | Tom | M | 11 | 78 |
Szenario: Ermitteln Sie den Prozentsatz der Schüler, deren Alter 12 oder 13 ist. Abfrage:
SELECT SchülerProzent FROM Schüler WHERE SchülerAlter IN ('12', '13');
Ausgabe:
SchülerProzent |
---|
88 |
84 |
1.2) Select-Abfrage als Teil von IN
Syntax:
SELECT Spalte(n) FROM tabelle_name WHERE spalte IN (SELECT-Anweisung);
Mit der oben genannten Syntax können wir die SQL SELECT-Anweisung verwenden, um Werte als Teil des IN-Operators anzugeben. Wir werden die oben genannte Syntax durch einige Beispiele detaillierter verstehen. Betrachten wir die folgenden Produkt- und Lieferantentabellen zu Beispielzwecken.
PRODUKT-Tabelle
ProduktId | ProduktName | ProduktPreis |
---|---|---|
1 | Keks | 10 |
2 | Käse | 11 |
3 | Schokolade | 15 |
4 | Marmelade | 20 |
LIEFERANTEN-Tabelle
ProduktId | ProduktName | LieferantenName |
---|---|---|
1 | Keks | ABC |
2 | Käse | XYZ |
3 | Schokolade | ABC |
4 | Marmelade | XDE |
Szenario: Ermitteln Sie den Preis des Produkts, dessen Lieferant ABC ist. Abfrage:
SELECT ProduktPreis FROM Produkt WHERE ProduktName IN (SELECT ProduktName FROM Lieferant WHERE LieferantenName = "ABC");
Ausgabe:
ProduktPreis |
---|
10 |
15 |
1.3) Verschachteltes SQL IN
Wir können auch IN innerhalb eines anderen IN-Operators verwenden. Um es besser zu verstehen, betrachten wir das nachstehende Szenario.
Szenario: Ermitteln Sie den Preis des Produkts, dessen Lieferant ABC und XDE ist. Abfrage:
SELECT ProduktPreis FROM Produkt WHERE ProduktName IN (SELECT ProduktName FROM Lieferant WHERE LieferantenName IN ( "ABC", "XDE" ));
Ausgabe:
ProduktPreis |
---|
10 |
15 |
20 |
SQL IN-Operator
Der SQL IN-Operator wird zusammen mit der WHERE-Klausel verwendet, um mehrere Werte als Teil der WHERE-Klausel anzugeben.
1. SQL IN
Der SQL IN-Operator ist fast wie das Vorhandensein mehrerer ODER-Operatoren für dieselbe Spalte. Lassen Sie uns im Detail über den SQL IN-Operator sprechen. Es gibt zwei Möglichkeiten, den IN-Operator zu definieren. Wir werden beide Möglichkeiten unten im Detail besprechen.
1.1) Mehrere Werte als Teil von IN
Syntax:
SELECT Spalte(n) FROM tabelle_name WHERE spalte IN (wert1, wert2, ... wertN);
Mit der oben genannten Syntax können wir mehrere Werte als Teil des IN-Operators definieren. Wir werden die oben genannte Syntax durch einige Beispiele detaillierter verstehen. Betrachten wir die folgende Schülertabelle zu Beispielzwecken.
RollNr | SchülerName | SchülerGeschlecht | SchülerAlter | SchülerProzent |
---|---|---|---|---|
1 | George | M | 14 | 85 |
2 | Monica | F | 12 | 88 |
3 | Jessica | F | 13 | 84 |
4 | Tom | M | 11 | 78 |
Szenario: Ermitteln Sie den Prozentsatz der Schüler, deren Alter 12 oder 13 ist. Abfrage:
SELECT SchülerProzent FROM Schüler WHERE SchülerAlter IN ('12', '13');
Ausgabe:
SchülerProzent |
---|
88 |
84 |
1.2) Select-Abfrage als Teil von IN
Syntax:
SELECT Spalte(n) FROM tabelle_name WHERE spalte IN (SELECT-Anweisung);
Mit der oben genannten Syntax können wir die SQL SELECT-Anweisung verwenden, um Werte als Teil des IN-Operators anzugeben. Wir werden die oben genannte Syntax durch einige Beispiele detaillierter verstehen. Betrachten wir die folgenden Produkt- und Lieferantentabellen zu Beispielzwecken.
PRODUKT-Tabelle
ProduktId | ProduktName | ProduktPreis |
---|---|---|
1 | Keks | 10 |
2 | Käse | 11 |
3 | Schokolade | 15 |
4 | Marmelade | 20 |
LIEFERANTEN-Tabelle
ProduktId | ProduktName | LieferantenName |
---|---|---|
1 | Keks | ABC |
2 | Käse | XYZ |
3 | Schokolade | ABC |
4 | Marmelade | XDE |
Szenario: Ermitteln Sie den Preis des Produkts, dessen Lieferant ABC ist. Abfrage:
SELECT ProduktPreis FROM Produkt WHERE ProduktName IN (SELECT ProduktName FROM Lieferant WHERE LieferantenName = "ABC");
Ausgabe:
ProduktPreis |
---|
10 |
15 |
1.3) Verschachteltes SQL IN
Wir können auch IN innerhalb eines anderen IN-Operators verwenden. Um es besser zu verstehen, betrachten wir das nachstehende Szenario.
Szenario: Ermitteln Sie den Preis des Produkts, dessen Lieferant ABC und XDE ist. Abfrage:
SELECT ProduktPreis FROM Produkt WHERE ProduktName IN (SELECT ProduktName FROM Lieferant WHERE LieferantenName IN ( "ABC", "XDE" ));
Ausgabe:
ProduktPreis |
---|
10 |
15 |
20 |
2. SQL NOT IN
Der SQL NOT IN-Operator wird verwendet, um das Ergebnis zu filtern, wenn die Werte, die als Teil des IN-Operators angegeben sind, nicht erfüllt werden. Lassen Sie uns im Detail über den SQL NOT IN-Operator sprechen.
Syntax:
SELECT Spalte(n) FROM tabelle_name WHERE Spalte NOT IN (wert1, wert2... wertN);
In der obigen Syntax werden die Werte, die als Teil der IN-Klausel nicht erfüllt werden, für das Ergebnis berücksichtigt. Betrachten wir die zuvor definierte Schülertabelle zu Beispielzwecken.
Szenario: Ermitteln Sie den Prozentsatz der Schüler, deren Alter nicht 12 oder 13 ist. Abfrage:
SELECT SchülerProzent FROM Schüler WHERE SchülerAlter NOT IN ('12', '13');