Zurück zur Artikelliste Artikel
6 Leseminuten

Was ist die SQL WHERE-Klausel?

Die WHERE -Klausel ist ein grundlegender Bestandteil von SQL. Diese Klausel filtert Ergebnisse und wendet Bedingungen auf SQL-Abfragen an. Am häufigsten wird sie zusammen mit der Anweisung SELECT verwendet. Wenn Sie ein absoluter Neuling auf diesem Gebiet sind, können Sie die Grundlagen von SQL, einschließlich WHERE, in unserem SQL für Anfänger Kurs lernen.

In diesem Artikel wird deutlich erklärt, wie WHERE in einer SQL-Abfrage verwendet wird. Nach der Lektüre werden Sie das nötige Vertrauen und Wissen haben, um WHERE in Ihre tägliche Arbeit zu integrieren.

SQL WHERE-Klausel Syntax

Die Syntax der WHERE Klausel von SQL ist einfach zu verstehen. Sie muss nach dem Schlüsselwort FROM in Ihrer SQL-Abfrage stehen:

SELECT *
FROM table
WHERE id = 100

In diesem Beispiel gibt es eine Integer-Spalte namens id. Wir wählen alle Zeilen aus, in denen der Wert der Spalte id gleich 100 ist.

SQL WHERE-Klausel Beispiele

Eine der besten Möglichkeiten, SQL zu lernen, ist die Anwendung. Gehen wir also einige Beispiele für die Verwendung der WHERE Klausel durch. Sie werden sehen, wie nützlich die Klausel in realen Situationen ist!

Stellen Sie sich vor, wir betreiben und besitzen ein Fitnessstudio. Wenn sich Leute als Mitglieder anmelden, geben sie uns einige grundlegende Informationen. Diese werden in unserer members Tabelle gespeichert, die eine eindeutige ID für jedes Mitglied, den Vor- und Nachnamen, das Alter und das Eintrittsdatum in das Fitnessstudio enthält.

idFirstNameLastNameAgeDateJoined
1WillSmith522020-08-23
2BradPitt562018-06-15
3TomHanks642017-02-27
4AngelinaJolie452019-04-02
5MerylStreep712014-03-21

Wenn Sie ganz neu in SQL sind oder Ihr Wissen über die Anweisung SELECT auffrischen müssen, nehmen Sie sich einen Moment Zeit, um diesen Artikel zu lesen. SELECT wird in diesem Artikel immer wieder auftauchen, daher ist es wichtig, dass Sie sie verstehen.

Verwendung von WHERE mit Zahlen

Wenn wir die Details eines unserer Mitglieder abrufen möchten und seine eindeutige ID kennen, können wir eine Abfrage wie die folgende schreiben:

SELECT * 
FROM members 
WHERE id = 3

Dies würde alle Daten für dieses Mitglied, Tom Hanks, abrufen:

idFirstNameLastNameAgeDateJoined
3TomHanks642017-02-27

Verwendung von WHERE mit Text

Im vorherigen Beispiel wurde WHERE in Verbindung mit einem numerischen Wert aus unserer Spalte id verwendet. Sie können jedoch WHERE mit vielen verschiedenen Datentypen verwenden. Schauen wir uns ein Beispiel an, bei dem die WHERE Klausel mit einem Textwert verwendet wird. In diesem Fall schauen wir in unsere VARCHAR-Spalten FirstName und LastName.

SELECT * 
FROM members 
WHERE FirstName = 'Tom' AND LastName = 'Hanks'

Beachten Sie, dass die Textwerte, die wir abgleichen wollen, von einfachen Anführungszeichen umgeben sind. Sie müssen dies jedes Mal tun, wenn Sie einen Textwert in Ihre Abfrage einschließen. Die Ausführung dieser Abfrage gibt die folgenden Daten zurück:

idFirstNameLastNameAgeDateJoined
3TomHanks642017-02-27

Fantastisch! Das ist genau das Ergebnis, das wir wollten.

Sehen Sie sich die Abfrage noch einmal an. Ist Ihnen der AND Operator aufgefallen? Die WHERE Klausel wird oft mit der Verwendung von drei verschiedenen SQL-Operatoren kombiniert - AND, OR und NOT:

  • Eine WHERE Klausel mit AND erfordert, dass beide Bedingungen wahr sind.
  • Eine WHERE Klausel mit OR erfordert, dass eine der beiden Bedingungen wahr ist.
  • Eine WHERE Klausel mit NOT erfordert, dass die angegebene Bedingung nicht wahr ist.

Probieren Sie diese Operatoren selbst aus, indem Sie die oben verwendete Abfrage ändern. Achten Sie auf die Auswirkungen auf die Daten, die zurückgegeben werden. Der beste Weg, diese Operatoren vollständig zu verstehen, besteht darin, Tutorials zu lesen, die sich mit diesen Operatoren befassen, und das Schreiben von Abfragen zu üben, die die Operatoren AND, OR und NOT enthalten. Hier sind weitere nützliche Möglichkeiten, wie Sie SQL online üben können.

WHERE verwenden, um einen Bereich von Werten zu erhalten

In unserem nächsten Beispiel geht es um die Verwendung von Vergleichsoperatoren (<,>,>=,<=,!=) in Verbindung mit dem gerade behandelten SQL-Operator AND. Stellen Sie sich vor, Sie möchten alle Personen in den Fünfzigern mit einem Werbeangebot ansprechen. Wie können wir die Mitglieder mit einem Alterswert zwischen 50 und 59 isolieren? Sehen Sie sich die folgende SQL-Abfrage an:

SELECT * 
FROM members 
WHERE Age >= 50 AND Age < 60

Achten Sie besonders auf die Syntax, die auf das Schlüsselwort WHERE folgt.

Diese SQL-Abfrage lautet in einfachem Englisch: "Select all from members where age is greater than or equal to 50 and age is less than 60". Die Ausführung der Abfrage ergibt dieses Ergebnis:

idFirstNameLastNameAgeDateJoined
1WillSmith522020-08-23
2BradPitt562018-06-15

Da haben wir es! Alle unsere Mitglieder, die in ihren Fünfzigern sind, wurden zurückgegeben. Wir können diese Mitglieder nun mit unserem nächsten Sonderangebot ansprechen.

Dies sind nur einige der Möglichkeiten, wie Sie die SQL-Klausel WHERE verwenden können, um Ihre Abfragen einzugrenzen. Eines der wichtigsten Dinge in SQL ist die Möglichkeit, große Datenmengen zu filtern; die WHERE-Klausel hilft Ihnen, dies zu erreichen.

Verwendung von WHERE mit UPDATE

Die WHERE-Klausel kann auch mit den Anweisungen UPDATE und DELETE kombiniert werden. UPDATE wird verwendet, um bestehende Datensätze in Ihrer Datenbank zu ändern. Die Anweisung DELETE wird verwendet, um einen Datensatz vollständig aus der Datenbank zu entfernen.

Wie funktioniert nun die Verwendung von UPDATE in Verbindung mit der WHERE Klausel? Stellen Sie sich vor, das Fitnessstudio-Mitglied Angelina Jolie hat kürzlich geheiratet und den Nachnamen ihres Mannes angenommen. Wir müssen ihren Nachnamen in unserer Datenbank aktualisieren. Zu diesem Zweck suchen Sie die id für Angelina Jolie und verwenden sie in Ihrer Abfrage:

UPDATE members SET LastName = 'Clooney' WHERE id = 4

Die Spalte, die Sie aktualisieren möchten, folgt auf das Schlüsselwort SET. Es ist sehr wichtig, dass Sie die WHERE -Klausel einschließen, wenn Sie die UPDATE -Anweisung verwenden; andernfalls wird die LastName für alle Datensätze in der Tabelle auf "Clooney" gesetzt.

Sehen wir uns nun an, wie sich diese Abfrage auf unseren Datensatz ausgewirkt hat, indem wir die folgende Abfrage ausführen:

SELECT id, FirstName, LastName 
FROM members 
WHERE id = 4
idFirstNameLastName
4AngelinaClooney

Erfolg! Wie Sie sehen können, wurden die Daten korrekt aktualisiert. UPDATE ist ein leistungsfähiges Werkzeug, mit dem Sie alle fehlerhaften Werte in Ihrem Datensatz aktualisieren können.

Verwendung von WHERE mit DELETE

Was wäre, wenn wir einen Datensatz vollständig aus unserer Datenbanktabelle entfernen wollten? Die Verwendung von WHERE in Kombination mit der Anweisung DELETE macht dies möglich. Die Syntax für DELETE ist einfach und sieht in unserem Beispiel wie folgt aus:

DELETE FROM members 
WHERE id = 4

Wir verwenden unsere WHERE Klausel, um genau anzugeben, welchen Datensatz wir löschen wollen. Es ist wichtig zu beachten, dass, wenn mehrere Datensätze denselben id Wert haben (in diesem Fall 4), alle diese Datensätze aus der Tabelle gelöscht werden.

Seien Sie sehr vorsichtig, wenn Sie die Anweisung DELETE verwenden; es ist eine gute Idee, die Datensätze immer zuerst auf SELECT zu überprüfen, damit Sie genau wissen, was Sie löschen.

Wir können die Auswirkungen unserer DELETE Anweisung sehen, indem wir alle unsere Datensätze auswählen:

SELECT * 
FROM members 

Die Ausführung dieser SQL-Abfrage ergibt die folgende Ergebnismenge:

idFirstNameLastNameAgeDateJoined
1WillSmith522020-08-23
2BradPitt562018-06-15
3TomHanks642017-02-27
5MerylStreep712014-03-21

Genaue Daten mit der WHERE-Klausel von SQL finden

Sie haben nun die Möglichkeit, genau die gewünschten Daten zu finden und mit ihnen zu interagieren. WHERE ist ein äußerst leistungsfähiges Werkzeug in Ihrem Arsenal. Sie können diese Klausel in Verbindung mit UPDATE, DELETE und SELECT verwenden. Auf diese Weise können Sie Daten auf unzählige Arten manipulieren und darstellen - die Möglichkeiten sind endlos!

Wenn Sie SQL mit Hilfe einer effektiven und bewährten Ressource weiter erlernen möchten, sollten Sie unseren Kurs SQL für Anfänger in Betracht ziehen, der Ihnen ein grundlegendes Wissen über SQL vermittelt.