3.6 Berechnungen
Berechnete Spalten
Werte, die sich aus anderen in der Datenbank gespeicherten Werten berechnen lassen, werden selbst nicht gespeichert, sondern bei Bedarf berechnet.
Beispiel
Gewünscht wird eine Übersicht aller Fahrräder, die deren Kennung, Anschaffungskosten sowie Bruttoanschaffungskosten (Umsatzsteuersatz 19%) enthält.
[Hinweis: Für dieses Beispiel wurde die Tabelle Fahrrad um die Spalte Anschaffungskosten erweitert.]
Der Tabelle Fahrrad die Spalte Anschaffungskosten hinzufügen.
Anschaffungskosten erfassen
Tabelle Fahrrad
ID | Kennung | Anschaffungskosten |
---|---|---|
1 | Cross#7 | 670.00 |
2 | Mark#2 | 750.00 |
Die Bruttoanschaffungskosten lassen sich aus den in der Tabelle Fahrrad gespeicherten Anschaffungskosten berechnen und in einer eigenen Spalte ausgeben. Dazu wird in der SELECT
-Abschnitt die entsprechende Berechnungsformel angegeben. Daran schließen sich das Schlüsselwort AS
und die gewünschte Spaltenüberschrift an:
Abfrageergebnis
ID | Kennung | Anschaffungskosten | Brutto_AK |
---|---|---|---|
1 | Cross#7 | 670.00 | 797.3000 |
2 | Mark#2 | 750.00 | 892.5000 |
Berechnungen in Bedingungen
Da die Auswertung einer SQL-Anweisung in der Reihenfolge FROM
, WHERE
, GROUP BY
, SELECT
, HAVING
, ORDER BY
erfolgt, kann ein im SELECT
-Abschnitt definierter Spaltenname nur im HAVING
- und ORDER BY
-Abschnitt verwendet werden. Wird das Ergebnis zum Beispiel in der SELECT
- oder WHERE
-Abschnitt benötigt, muss es dort erneut berechnet werden.
Beispiel
Gewünscht wird eine Übersicht aller Fahrräder, deren Bruttoanschaffungskosten über 800,00 EUR liegen. Die Übersicht soll die die Kennung, die Anschaffungskosten sowie die Bruttoanschaffungskosten (Umsatzsteuersatz 19%) der jeweiligen Fahrräder enthalten.
Abfrageergebnis
ID | Kennung | Anschaffungskosten | Brutto_AK |
---|---|---|---|
2 | Mark#2 | 750.00 | 892.5000 |
Aufgabe 3-11: Berechnete Spalten und Berechnungen in Bedingungen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
-
Eine Übersicht aller Fahrzeugmodelle, die für jedes Modell den Hersteller, die Modellbezeichnung und Verbrauch angibt. Außerdem soll der Verbrauch bei sportlicher Fahrweise (+10%) und bei spritsparender Fahrweise (-10%) ersichtlich sein.
Lösung
Lösung
-
Eine Übersicht aller Fahrzeuge, die für jedes Fahrzeug das Kennzeichen, den Hersteller, das Modell und die Anschaffungskosten angibt. Außerdem sollen die Anschaffungskosten umgerechnet in US-Dollar (Kurs: € 1,00 = $1,20) ersichtlich sein.
Lösung
Lösung
-
Eine Übersicht aller Versicherungsverträge, die für jeden Vertrag die Versicherungsnummer, den Namen der Versicherungsgesellschaft sowie den Beitrag abzüglich eines Rabatts von 2,25 % angibt. Außerdem soll ersichtlich sein, welchen Kaskoschutz der Vertrag beinhaltet.
Lösung
Lösung
Funktionen
Im SQL-Standard werden verschiedene Funktionen festgelegt, die auf einzelne Zahlen, Zeichenketten oder Datums- und Zeitwerten angewendet werden können.
Beispiele
-
Gewünscht wird eine Übersicht aller Mietverträge, die im Jahr 2015 abgeschlossen wurden.
Abfrageergebnis
ID Abschlussdatum Mietbeginn Mietdauer ↑Kunde_ID 1 2015-08-11 2015-08-12 3 1 2 2015-08-13 2015-08-15 5 2 Abb. 3-79c: Abfrageergebnis der SQL-Anweisung aus Abb. 3-79b. -
Gewünscht wird eine Übersicht aller Mietverträge, die im aktuellem Jahr abgeschlossen wurden.
-
Gewünscht wird eine Übersicht aller Mietverträge, die jeweils im August abgeschlossen wurden.
Abfrageergebnis
ID Abschlussdatum Mietbeginn Mietdauer ↑Kunde_ID 1 2015-08-11 2015-08-12 3 1 2 2015-08-13 2015-08-15 5 2 Abb. 3-79f: Abfrageergebnis der SQL-Anweisung aus Abb. 3-79e.
Aufgabe 3-11-II: Berechnungen mit Funktionen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:
-
Eine Übersicht aller Reservierungen, die im 1. Halbjahr des aktuellen Jahres beginnen.
Lösung
Lösung