Databases Reference
In-Depth Information
Tabelle 11.8:
Ergebnis der Abfrage aus Listing 11.6
sum(preis)
36.20
Weitere bekannte Aggregatfuntionen finden wir im folgenden Beispiel:
Listing 11.7:
Gängige Aggregatfuntionen
select avg(preis),min(preis),max(preis),sum(preis),count(preis)
from alben
Ihren Namen entsprechend ermitteln die Funktionen die folgenden Werte:
avg
: den Durchschnittspreis
min
: den kleinsten Preis
max
: den höchsten Preis
sum
: die Summe über alle Preise
count
: die Anzahl der Preise in der Tabelle
Da jede Aggregatfuntion genau einen Wert liefert, besteht das Ergebnis aus einer
Zeile:
Tabelle 11.9:
Ergebnis der Abfrage aus Listing 11.7
avg(preis)
min(preis)
max(preis)
sum(preis)
count(preis)
4.525
1.20
8.80
36.20
8
Ein RDBMS kann sehr viele skalare Funktionen zur Verfügung stellen, die Anzahl
von Aggregatfunktionen ist dagegen überschaubar. Neben den fünf aufgezählten
gibt es gelegentlich noch statistische Aggregatfunktionen etwa zur Berechnung
der Varianz oder der Standardabweichung.
Wenn wir einer einfachen Funktionen
null
-Werte übergeben, ist das Ergebnis
immer
null
. Auch bei Vergleichsoperationen wie
<
oder
>
oder arithmetischen
Operationen ergibt sich
null
als Ergebnis. Eine Ausnahme bilden logische Ope-
ratoren wie
or
. Hier gilt, wie wir in Abschnitt 10.2 gesehen haben:
null or true = true
Wir haben beobachtet, dass Funktionen und arithmetische Operationen
null
lie-
fern, sobald einer der beteiligten Werte
null
ist. Da unsere Beispieldaten in der
Spalte
preis
mehrere
null
-Werte enthalten, erwarten wir, dass die Aggregat-
funktion
sum
in der Abfrage in Listing 11.7 erst recht
null
liefert. Dem Ergebnis
in Tabelle 11.9 entnehmen wir, dass das nicht zutrifft: Tatsächlich werden
null
-