3.4 WHERE
Soll das Abfrageergebnis nur Datensätze enthalten, die eine oder mehrere Bedingungen erfüllen, können diese mit Hilfe der WHERE
-Klausel angegeben werden.
Beispiele
-
Wähle aus der Tabelle Kunde alle Datensätze aus, die in der Spalte Nachname den Wert Maier besitzen.
Abfrageergebnis
ID Vorname Nachname 1 Max Maier 3 Eva Maier Abb. 3-27: Abfrageergebnis der SQL-Anweisung aus Abb. 3-26. -
Wähle aus der Tabelle Mietvertrag alle Datensätze aus, die in der Spalte Mietdauer einen Wert von höchstens 3 besitzen.
Abfrageergebnis
ID Abschlussdatum Mietbeginn Mietdauer Kunde_ID 1 2015-08-11 2015-08-12 3 1 Abb. 3-29: Abfrageergebnis der SQL-Anweisung aus Abb. 3-28. -
Wähle aus der Tabelle Mietvertrag alle Datensätze aus, die in der Spalte Mietbeginn einen Datumswert besitzen, der nach dem 12.08.2015 liegt.
Abfrageergebnis
ID Abschlussdatum Mietbeginn Mietdauer Kunde_ID 2 2015-08-13 2015-08-15 5 2 Abb. 3-31: Abfrageergebnis der SQL-Anweisung aus Abb. 3-30.
Soll das Abfrageergebnis nur Datensätze enthalten, die eine oder mehrere Bedingungen erfüllen, können diese mit Hilfe der WHERE
-Klausel angegeben werden.
Enthält eine Bedingung Auswahlkriterien vom Typ Text oder Datum, müssen diese in einfache ('...') oder doppelte ("...") Anführungszeichen eingeschlossen werden.
MySQL unterstützt folgende Vergleichsoperatoren:
Operator | Bedeutung |
---|---|
= | gleich |
!= | ungleich |
< | kleiner als |
> | größer als |
<= | kleiner gleich |
>= | größer gleich |
WHERE
-Klausel angegebenen Bedingungen erfüllen.Aufgabe 3-4: Bedingungen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
-
alle Reservierungen mit dem Zweck 'Messe',
Lösung
Lösung
-
alle Instandhaltungen bei Fahrzeugen mit einem Kilometerstand von unter 12000 km, aufsteigend nach dem Kilometerstand sortiert,
Lösung
Lösung
-
alle Firmenwagen, die seit dem 01.01.2015 angeschafft worden sind, absteigend nach dem Anschaffungsdatum sortiert. Bei gleichem Anschaffungsdatum soll nach der Fahrzeugmodell_ID aufsteigend sortiert werden.
Lösung
Lösung
Verknüpfung mehrerer Bedingungen
Mehrere Bedingungen können mit Hilfe der logischen Operatoren AND bzw. OR miteinander verknüpft werden.
Beispiele
-
Wähle aus der Tabelle Mietvertrag alle Datensätze aus, die in der Spalte Abschlussdatum einen Datumswert vor dem 12.08.2015 oder nach dem 01.09.2015 besitzen.
Abfrageergebnis
ID Abschlussdatum Mietbeginn Mietdauer Kunde_ID 1 2015-08-11 2015-08-12 3 1 Abb. 3-37: Abfrageergebnis der SQL-Anweisung aus Abb. 3-36. -
Wähle aus der Tabelle Kunde alle Datensätze aus, die in der Spalte Vorname den Wert Eva und in der Spalte Nachname den Wert Maier besitzen.
Abfrageergebnis
ID Vorname Nachname 3 Eva Maier Abb. 3-39: Abfrageergebnis der SQL-Anweisung aus Abb. 3-38.
Aufgabe 3-5: Verknüpfung mehrerer Bedingungen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
Intervall als Auswahlkriterium
Mit Hilfe von 'BETWEEN ... AND ...' kann als Auswahlkriterium ein Intervall angegeben werden. Dabei sind die angegebene Ober- und Untergrenze Teil des Intervalls.
Beispiel
Wähle aus der Tabelle Mietvertrag alle Datensätze aus, die in der Spalte Mietbeginn einen Datumswert zwischen dem 01.08.2015 und dem 12.08.2015 besitzen.
Abfrageergebnis
ID | Abschlussdatum | Mietbeginn | Mietdauer | Kunde_ID |
---|---|---|---|---|
1 | 2015-08-11 | 2015-08-12 | 3 | 1 |
Aufgabe 3-6: Intervall als Auswahlkriterium
Datenbank Firmenwagen
Erstellen Sie eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle zurückgibt, die alle Fahrzeuge (Kennzeichen, Anschaffungskosten) enthält, die in der Anschaffung mindestens 26.000 € und höchsten 30.000 € gekostet haben, absteigend sortiert nach den Anschaffungskosten (absteigend).
LösungLösung
Werteliste als Auswahlkriterium
Mit Hilfe von IN( ... ) kann für eine Spalte als Auswahlkriterium eine Menge von Werten angegeben werden. Das Abfrageergebnis enthält dann alle Datensätze, die in der betreffenden Spalte einen der angegebenen Werte enthalten.
Beispiel
Wähle aus der Tabelle Kunde alle Datensätze aus, die in der Spalte Vorname einen der folgenden Werte besitzen: Fritz, Eva oder Anja.
Abfrageergebnis
ID | Vorname | Nachname |
---|---|---|
2 | Fritz | Haug |
3 | Eva | Maier |
4 | Anja | Sommer |
Aufgabe 3-7: Werteliste als Auswahlkriterium
Datenbank Firmenwagen
Erstellen Sie eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle zurückgibt, die die Daten der Fahrzeuge mit den folgenden Kennzeichen enthält: HN-AB-45, TBB-A-678, TBB-D-9781, WÜ-A-2435.
LösungLösung
Platzhalter
Der LIKE-Operator erlaubt bei Auswahlkriterien vom Typ Text die Verwendung von Platzhaltern. In MySQL dient das Prozentzeichen ("%") dabei als Platzhalter für beliebig viele Zeichen, der Unterstrich ("_") als Platzhalter für genau ein Zeichen.
Beispiel
Wähle aus der Tabelle Kunde alle Datensätze aus, die in der Spalte Nachname einen Wert besitzen, der mit einem M beginnt.
Abfrageergebnis
ID | Vorname | Nachname |
---|---|---|
1 | Max | Maier |
3 | Eva | Maier |
Aufgabe 3-8: Platzhalter
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
-
alle Fahrzeuge, die im Landkreis Main-Tauber-Kreis zugelassen sind,
Lösung
Lösung
-
alle Fahrzeugmodelle (Bezeichnung, Kraftstoff, Verbrauch), in deren Modellbezeichnung das Kürzel 'TDI' vorkommt,
Lösung
Lösung
-
alle Fahrzeuge, die im Landkreis Main-Tauber-Kreis zugelassen sind und in deren Kennzeichen die Ziffernkombination '73' vorkommt,
Lösung
Lösung