Um weitere Informationen aus einer Datenbank zu erhalten, kann man auf das Ergebnis einer Abfrage Aggregatsfunktionen anwenden.
Beispiel: Wie viele deutsche Spieler spielen in allen Ligen?
SELECT COUNT(Spieler_ID)
FROM Spieler
WHERE Land="Deutschland"
Das Ergebnis einer Abfrage kann zusätzlich ausgewertet werden, indem man zum Schluss eine Aggregatsfunktion auf die Ergebnistabelle der Abfrage anwendet. Aggregatsfunktionen werden immer auf eine Spalte angewendet.
Merksatz 2.3.3.1
Es gibt unter anderem folgende Aggregatsfunktionen:
| Funktion | Wirkung |
|---|---|
COUNT(Spalte) | Zählt die nicht-leeren Zeilen der vorgegebenen Spalte im Ergebnis. |
SUM(Spalte) | Addiert die Werte aller Zeilen der angegebenen Spalte. |
MAX(Spalte) | Gibt den maximalen Wert der Spalte aus. |
MIN(Spalte) | Gibt den minimalen Wert der Spalte aus. |
AVG(Spalte) | Berechnet den Durchschnitt der Spalte. |
Aufgabe 1:
Nutze für alle Aufgaben die Seite https://dbup2date.uni-bayreuth.de/bundesliga.html. Schreibe je die Abfrage auf (nicht das Ergebnis).
Wie viele Spieler haben die englische Staatsangehörigkeit?
Aufgabe 2:
Wie viele Tore haben alle Spieler mit der Trikotnummer 10 geschossen?
Aufgabe 3:
Wer hat bisher mehr Tore geschossen – alle Heim- oder alle Gastmannschaften?
Aufgabe 4:
Wie viele Tore werden durchschnittlich von der Heim/Gastmannschaft erzielt, wenn die Heimmannschaft gewonnen hat? Wie viele, wenn die Gastmannschaft gewonnen hat? (Hinweis: Zwei Abfragen)
Aufgabe 5:
Bestimme alle Spieler, die überdurchschnittlich viele Tore geschossen haben. (Hinweis: Entweder verwendet man zwei Abfragen, oder verschachtelt zwei Abfragen ineinander, indem man das Ergebnis einer Aggregatsfunktion in der Zeilenbedingung verwendet.)
Aufgabe 6:
Welche Mannschaft hat bisher den höchsten Heimsieg erzielt? (Hinweis: Entweder braucht man mehrere einzelne Abfragen, oder wieder eine verschachtelte.)
Lösungen der Aufgaben (nur für Abonnenten):
Hier findest du alle Lösungen der Aufgaben dieses Kapitels.