Die SQL WHERE Klausel begrenzt eine Abfrage mit Bedingungen.

SELECT Spalte_1, Spalte_2 
FROM Tabelle 
WHERE Bedingungen; 
SQL WHERE

Eine der fundamentalsten Befehle in SQL ist WHERE. Wir geben den Spalten Bedingungen und die Felder der Zeile müssen den Bedingungen entsprechen. Tun sie das, werden sie wiedergegeben. Entsprechen sie nicht den Bedingungen, werden sie ausgeblendet. Die SQL WHERE Bedingung erscheint immer in Folge auf die in FROM ausgewählte Tabelle. Diese Bedingungen sind Filter, um den SELECT Befehl zu erweitern. Die Bedingungen können zwei Typen von Operatoren beinhalten:

SQL WHERE mit Vergleichsoperatoren

      Der Wert in einer Spalte wird mit einem selbst festgelegten Wert verglichen. Um Vergleiche in SQL zu ermöglichen, muss aus den folgenden Vergleichsoperatoren der richtige ausgewählt werden:

Vergleichsoperator

Erklärung

=

Ist gleich / Entspricht genau

<>

Ist nicht gleich / Entspricht nicht

>

Ist größer als

<

Ist kleiner als

>=

Ist größer als oder ist gleich

<=

Ist kleiner als oder ist gleich

Diese Operatoren sind aus der grundlegenden Mathematik bekannt. Der Unterschied zur Mathematik ist, dass diese Bedingungen nicht ausschließlich für Zahlen gelten. Es können die Werte der Felder auch mit Texten verglichen werden. Dafür kann man = und <> verwenden.

Mehr Informationen hier: Vergleichsoperatoren

SELECT Vorname, Nachname, Geburtsdatum, Land
FROM Kunden
WHERE Nachname = 'Müller'; 

SQL WHERE mit Logische Operatoren

Logische Operatoren erlauben uns in SQL, mehrere Vergleichsoperatoren zu kombinieren oder auszuschließen.

Logischer Operator

Erklärung

AND

SQL gibt TRUE aus, wenn alle Bedingungen gleichzeitig gelten.

OR

SQL gibt TRUE aus, wenn mindestens eine von allen Bedingungen gilt.

NOT

SQL gibt TRUE aus, wenn die Bedingung nicht zutrifft.

SELECT Vorname, Nachname, Geburtsdatum, Land
FROM Kunden
WHERE Vorname = 'Max' AND Nachname = 'Müller'; 

Es existieren weitere, spezielle Operatoren, die TRUE/FALSE-Werte ausgeben.

Spezielle Operatoren

Logischer Operator

Erklärung

LIKE

Ermöglicht Platzhalter für Texte

IN

Kurzform für viele OR-Operatoren

BETWEEN

Alle Ergebnisse zwischen zwei Werten filtern

EXISTS

Prüft, ob eine Unterabfrage in einer Spalte existiert

ANY

Vergleich mit irgendeinem Wert einer Unterabfrage

ALL

Vergleich mit allen Werten einer Unterabfrage

SELECT Vorname, Nachname, Geburtsdatum, Land
FROM Kunden
WHERE Nachname IN ('Schmidt', 'Schmitt', 'Schmitz')
      OR Nachname LIKE 'Schmi__' 

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!