Datenbanken Online Lexikon TH Köln, Campus Gummersbach
Aktuelle Änderungen - Suchen:

Gruppenfunktionen

Die SQL-Funktionen werden in Single-Row-Funktionen und Multiple-Row-Funktionen oder auch Gruppenfunktionen unterschieden. Die Gruppenfunktionen fassen Werte aus unterschiedlichen Datens�tzen in einer Spalte zu genau einem Wert zusammen. NULL-Werte werden dabei nicht ber�cksichtigt.bzw. verf�lschen das Ergebnis. Daher ist die NVL-Funktion notwendig, wenn NULL-Werte in der Spalte auftauchen. Gruppenfunktionen werden auch als Aggregatfunktionen bezeichnet.

SQL-Gruppenfunktionen (Auszug)

FunktionBedeutung
,COUNT?Anzahl der Werte in einer Spalte
,SUM?Summe der Werte in einer Spalte
,AVG?Mittelwert der Spalte
,MAX?Gr��ter Wert der Spalte
,MIN?Kleinster Wert der Spalte
,RANK?Berechnet den Rang eines Wertes

Gruppenfunktionen k�nnen in einer SELECT-Klausel, einer HAVING-Klausel und/oder einer ORDER-BY-Klausel eingesetzt werden, aber nicht in einer WHERE-Klausel oder GROUP-BY-Klausel, da sie sich auf Gruppen von Werten, nicht auf einzelne Werte beziehen.

Gruppenfunktionen k�nnen mit Single-Row-Funktionen verschachtelt werden, wenn die Datentypen passen. Es ist auch m�glich, Gruppenfunktionen untereinander zu verschachteln, allerdings unter Oracle-SQL nur bis zur Stufe 2 und auch nur, wenn die Aggregationsstufen zueinander passen.

Beispiele

 SELECT MIN(ROUND(GEHALT, 2)) FROM Angestellte      --korrekte Syntax
 GROUP BY ABT_NR;

 SELECT COUNT(AVG(Gehalt)) FROM Angestellte         --korrekte Syntax, z�hlt Anzahl der Abteilungen
 GROUP BY ABT_NR;

 SELECT MAX(COUNT(AVG(Gehalt))) FROM Angestellte    --wirft einen Fehler, da dreistufig
 GROUP BY ABT_NR;

 SELECT Nachname, AVG(MAX(gehalt))FROM Angestellte  --wirft einen Fehler, 
 GROUP BY ABT_NR                                    --da der Nachname eine andere Aggregationsstufe hat als AVG(MAX(gehalt));

 SELECT AVG(MAX(gehalt))  FROM Angestellte          --korrekte Syntax. 
 GROUP BY ABT_NR;                                   --Berechnet das durchschnittliches maximales   Gehalt je Abteilung;

 SELECT COUNT(NVL(BLZ, 0))                          -- Berechnet die Anzahl der Kunden, deren BLZ einen NULL-Wert hat.
 FROM KUNDEN                                        -- Die Funktion NVL ist hier notwendig, da sonst COUNT(BLZ) = 0 ist, 
 WHERE BLZ IS NULL;                                 -- wenn eine BLZ in der Spalte den Wert NULL hat

Die Liste der Gruppenfunktionen ist nicht komplett. Die komplette Syntax finden Sie unter:

Quellen:

  • Quellen/Standards in http://www.wiscorp.com/SQLStandards.html und http://www.jcc.com/sql.htm
  • INCITS/ISO/IEC 9075-1-2008. Part 1 "SQL/Framework", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • INCITS/ISO/IEC 9075-1-2008. Part 2 "SQL/Foundation", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • Adams, Ralf: "SQL - Eine Einf�hrung mit vertiefenden Exkursen", Hanser, M�nchen, 2012, ISBN 978-3-446-43200-0
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, M�nchen, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, M�nchen, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, Andr�: "Datenbanksysteme", Oldenbourg, M�nchen, 2009, 978-3-486-59018-0
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle� Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Sieben, J�rgen: "Oracle� SQL - Das umfassende Handbuch", Galileo Press, 2012, ISBN 978-3-8362-1875-7
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, M�nchen, 2008, ISBN 978-3-486-27574-2

Kategorie: SQL, G