SQL Schnellstart – Where

Es kommt häufig vor, dass du ein SQL-Statement nicht auf alle Daten anwenden möchtest, sondern nur auf jene, die eine bestimmte Bedingung erfüllen. Das SQL Schlüsselwort WHERE ermöglicht dir, bestimmte Daten zu filtern.

SQL WHERE-Schlüsselwort

Mit dem SQL WHERE-Schlüsselwort kannst du bestimmte Einträge filtern. Du kannst Einträge herausziehen, welche eine von dir angegebene Bedingung erfüllen.

SQL WHERE Syntax

In Zusammenhang mit dem Schlüsselwort SELECT, sieht der Aufbau allgemein folgendermaßen aus.

Beispiel - Select-Befehl mit WHERE-Bedingung:

SELECT spalten
FROM tabelle
WHERE bedingung;

Das WHERE Schlüsselwort lässt sich aber nicht nur für einfache SELECT-Anweisungen benutzen, sondern auch für andere Anweisungen, wie bspw. die UPDATE-Anweisung.

Hinweis: Mit dem UPDATE-Befehl kannst du Werte in deiner Tabelle ändern. Damit nicht jeder Eintrag abgeändert wird, filtert man mit WHERE die Einträge heraus, die verändert werden sollen. Das SQL-Schlüsselwort UPDATE erkläre ich dir später erneut im Detail.

Beispiel - Update-Befehl mit WHERE-Bedingung:

UPDATE tabelle
SET spaltenname = neuer_wert
WHERE bedingung;

Operatoren für Bedingungen

Eine Bedingung kannst du mit einer Vielzahl von sog. Operatoren erstellen. Operatoren kennst du bereits aus der einfachen Mathematik.

Nachfolgend findest du eine Liste der häufigsten Operatoren:

Operator Erklärung
= Gleich
> Größer als
< Kleiner als
>= Größer oder gleich
<= Kleiner oder gleich
<> Ungleich - Anmerkung: manchmal verwendet man auch folgenden Operator für ungleich: !=
BETWEEN Der Wert befindet sich zwischen zwei festgelegten Werten
LIKE Der Wert entspricht einem bestimmten Muster
IN Der Wert entspricht einem von mehreren definierten Werten

SQL Beispiel für "Where"

Stell dir wieder vor, du betreibst ein Reisebüro für Bergtouren und bietest derzeit Touren für folgende Berge an:

Alle Berge sind in der Tabelle "berg" gespeichert. Nun möchte einer der Bergsteiger wissen, welche Berge vor dem Jahr 1900 entdeckt wurden.

Die Aufgabe könntest du beispielsweise so lösen:

SELECT * 
FROM berg
WHERE entdeckt < '1900-01-01';

Diese SQL-Abfrage produziert folgendes Ergebnis:

Deine Code-Aufgabe: Alle Berge unter 6000 Meter

Jetzt bist du dran! Ein Interessent mit wenig Erfahrung im Bergsteigen möchte wissen, welche Bergtouren dein Reisebüro anbietet, die für ihn geeignet sind. Da der Kunde bisher nur wenig Erfahrung im Bergsteigen hat, sollte die maximale Höhe des Berges unter 6000 Metern liegen.

Entwerfe eine SQL-Abfrage, welche ausschließlich Daten der Berge mit einer Höhe unter 6000m ausgibt. Die Lösung findest du unter dem Code-Editor.

[lp_spoiler title="Lösung anzeigen"]

Lösung:

SELECT * FROM berg WHERE hoehe < 6000;

Ausgabe:

[/lp_spoiler]

Fazit

Du hast nun gelernt, dass du mit dem Schlüsselwort WHERE Datensätze filtern kannst. Als angehender SQL-Entwickler wird dir WHERE sehr häufig begegnen!