MySQL WHERE-Klausel: AND, OR, IN, NOT IN Abfragebeispiel

Was ist die WHERE-Klausel in MySQL?

WHERE-Klausel in MySQL ist ein Schlüsselwort, das verwendet wird, um die genauen Kriterien von Daten oder Zeilen anzugeben, die von der angegebenen SQL-Anweisung betroffen sind. Die WHERE-Klausel kann mit SQL-Anweisungen wie INSERT, UPDATE, SELECT und DELETE verwendet werden, um Datensätze zu filtern und verschiedene Operationen mit den Daten durchzuführen.

Wir haben uns angeschaut, wie man Daten von a . abfragt Datenbank mit der SELECT-Anweisung im vorherigen Tutorial. Die SELECT-Anweisung hat alle Ergebnisse aus der abgefragten Datenbanktabelle zurückgegeben.

Dies sind jedoch Zeiten, in denen wir die Abfrageergebnisse auf eine bestimmte Bedingung beschränken möchten. Die WHERE-Klausel in SQL ist in solchen Situationen praktisch.

WHERE-Klausel in MySQL



Syntax der WHERE-Klausel

Die grundlegende Syntax für die WHERE-Klausel bei Verwendung in einer MySQL SELECT WHERE-Anweisung lautet wie folgt. |_+_|

HIER

  • 'SELECT * FROM Tabellenname' ist die Standard-SELECT-Anweisung
  • 'WO' ist das Schlüsselwort, das unser ausgewähltes Abfrageergebnis einschränkt und 'Zustand' ist der Filter, der auf die Ergebnisse angewendet werden soll. Der Filter kann ein Bereich, ein einzelner Wert oder eine Unterabfrage sein.

Schauen wir uns nun a . an Praxisbeispiel .

Angenommen, wir möchten die persönlichen Daten eines Mitglieds aus der Mitgliedertabelle mit der Mitgliedsnummer 1 abrufen, wir würden das folgende Skript verwenden, um dies zu erreichen. |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench auf der 'myflixdb' würde die folgenden Ergebnisse liefern. |_+_|

WHERE-Klausel kombiniert mit - UND LOGISCHER Operator

Die WHERE-Bedingung in MySQL wird bei Verwendung zusammen mit dem logischen Operator AND nur ausgeführt, wenn ALLE angegebenen Filterkriterien erfüllt sind. Schauen wir uns nun ein praktisches Beispiel an - Angenommen, wir möchten eine Liste aller Filme der Kategorie 2 erhalten, die 2008 veröffentlicht wurden, wir würden das unten gezeigte Skript verwenden, um dies zu erreichen. |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

WHERE-Klausel kombiniert mit - ODER LOGISCHER Operator

Die WHERE-Klausel wird bei Verwendung zusammen mit dem OR-Operator nur ausgeführt, wenn eines oder alle angegebenen Filterkriterien erfüllt sind. Das folgende Skript ruft alle Filme in Kategorie 1 oder Kategorie 2 ab |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

WHERE-Klausel kombiniert mit - IN Stichwort

Die WHERE in MySQL-Klausel wirkt sich, wenn sie zusammen mit dem IN-Schlüsselwort verwendet wird, nur auf die Zeilen aus, deren Werte mit der im Schlüsselwort IN bereitgestellten Werteliste übereinstimmen. Die MySQL IN-Anweisung hilft, die Anzahl der OR-Klauseln zu reduzieren, die Sie möglicherweise verwenden müssen. Die folgende MySQL WHERE IN-Abfrage liefert Zeilen, in denen die member_number entweder 1 , 2 oder 3 ist |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

WHERE-Klausel kombiniert mit - NICHT IN Stichwort

Die WHERE-Klausel wirkt sich bei Verwendung zusammen mit dem NOT IN-Schlüsselwort DOES NOT auf die Zeilen aus, deren Werte mit der im Schlüsselwort NOT IN bereitgestellten Werteliste übereinstimmen. Die folgende Abfrage liefert Zeilen, in denen die Mitgliedschaftsnummer NICHT 1 , 2 oder 3 ist |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

WHERE-Klausel kombiniert mit - Vergleichsoperatoren

Die Vergleichsoperatoren kleiner als (), gleich (=), ungleich () können mit der WHERE-Klausel verwendet werden

= Gleicht

Das folgende Skript ruft alle weiblichen Mitglieder mithilfe des Vergleichsoperators Gleich aus der Mitgliedertabelle ab. |_+_|

Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

> Größer als

Das folgende Skript ruft alle Zahlungen, die größer als 2.000 sind, aus der Zahlungstabelle ab. SELECT * FROM `Zahlungen` WHERE `bezahlter Betrag` > 2000; Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

Nicht gleichzusetzen mit

Das folgende Skript ruft alle Filme ab, deren Kategorie-ID nicht 1 ist. |_+_| Die Ausführung des obigen Skripts in der MySQL-Workbench gegen die 'myflixdb' führt zu den folgenden Ergebnissen. |_+_|

Zusammenfassung

  • Die SQL-WHERE-Klausel wird verwendet, um die Anzahl der Zeilen einzuschränken, die von einer SELECT-, UPDATE- oder DELETE-Abfrage betroffen sind.
  • Die WHERE-Bedingung in SQL kann in Verbindung mit logischen Operatoren wie AND und OR, Vergleichsoperatoren wie ,= usw. verwendet werden.
  • Bei Verwendung mit dem logischen Operator AND müssen alle Kriterien erfüllt sein.
  • Bei Verwendung mit dem logischen Operator OR muss eines der Kriterien erfüllt sein.
  • Das Schlüsselwort IN wird verwendet, um Zeilen auszuwählen, die einer Liste von Werten entsprechen.

Denksportaufgabe Nehmen wir an, wir möchten eine Liste der ausgeliehenen Filme erhalten, die nicht rechtzeitig am 25.06.2012 zurückgegeben wurden. Wir können die SQL-WHERE-Anweisungsklausel zusammen mit dem Kleiner-als-Vergleichsoperator und dem logischen AND-Operator verwenden, um dies zu erreichen. |_+_| Die Ausführung des obigen Skripts in der MySQL-Workbench führt zu den folgenden Ergebnissen. |_+_|