SQL WHERE Befehl
Mithilfe des SQL WHERE-Befehls werden in SQL Abfragen nur bestimmten Datensätze ausgewählt. Der SQL WHERE-Befehl funktioniert im Prinzip wie ein Filter, der es ermöglicht, nur Datensätze anzuzeigen, die bestimmte Kriterien erfüllen.Soll ein SQL Statement eine bestimmte Bedingung erfüllen, muss eine WHERE-Bedingung eingebaut und erfüllt werden, damit die Abfrage eine Ergebnismenge liefern kann.
SQL WHERE Syntax
Die SQL Syntax einer Select-Abfrage mit WHERE ist wie folgt aufgebaut:
SELECT Spaltenname FROM Tabellenname WHERE Spaltenname = Wert
Mithilfe des WHERE wird definiert, welche Bedingung positiv erfüllt werden muss, damit die richtige Ergebnismenge geliefert wird. Die Ergebnismenge kann mithilfe der folgenden Vergleichsoperatoren spezifiziert werden:
- Gleich (=) oder ungleich (<>), auch als ungleich (!=) bekannt
- Größer als (>) oder kleiner als (<)
- Größer oder gleich (>=) und kleiner oder gleich(<=)
SQL WHERE Beispiel
Gegeben sei folgende Tabelle namens "Mitarbeiter":
Nachname | Vorname | Gehalt | Abteilung |
Heinrich | Daniel | 2435 | Einkauf |
Löffler | Dennis | 2090 | Vertrieb |
Schulz | Holger | 3410 | Produktmanagement |
Schröder | Michael | 3675 | Geschäftsführung |
Nussbaum | Julia | 1201 | Empfang |
Nun möchte man den Nachnamen der Mitarbeiter und deren Gehälter auflisten. Allerdings soll die Spalte "Gehalt" eine bestimmte Bedingung erfüllen. Es sollen alle Mitarbeiter und deren Gehälter angezeigt werden, bei denen das Gehalt über 2095 Euro beträgt.
Das SQL Statement mit der WHERE-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,ABTEILUNG FROM MITARBEITER WHERE GEHALT > 2095
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Abteilung |
Heinrich | Daniel | 2435 | Einkauf |
Schulz | Holger | 3410 | Produktmanagement |
Schröder | Michael | 3675 | Geschäftsführung |
In diesem Beispiel haben wir das "größer als" - Zeichen verwendet - einen Vergleichsoperator. SQL kann mit allen gängigen Vergleichsoperatoren (siehe oben) umgehen. Wir könnten also genauso gut eine Abfrage erstellen, welche nur Datensätze anzeigt, bei denen das Gehalt "kleiner als" 2095 Euro beträgt.