7. SQL-Funktionen

SQL Funktionen im Überblick In diesem Kapitel erhältst du einen umfassenden Überblick über die wichtigsten Funktionen in SQL. Funktionen sind kleine, eingebaute Werkzeuge, mit denen du Daten transformieren, berechnen oder analysieren kannst. Sie helfen dir dabei, Abfragen mächtiger zu machen und komplexe Auswertungen direkt in SQL durchzuführen. Während Aggregationsfunktionen dir bereits ermöglichen, Kennzahlen über mehrere Zeilen hinweg zu berechnen, bieten SQL-Funktionen weit mehr Möglichkeiten: Du kannst Texte bearbeiten, Zahlen berechnen, Datumswerte analysieren oder logische Entscheidungen direkt in deinen Abfragen treffen. So lassen sich Daten nicht nur abrufen, sondern gezielt transformieren, formatieren und auswerten. SQL-Funktionen lassen sich grob in Aggregatfunktionen, Zeichenkettenfunktionen, numerische Funktionen, Datums- und Zeitfunktionen sowie logische und Systemfunktionen unterteilen. In den folgenden Abschnitten zeigen wir dir jede Funktionsgruppe mit Beispielen, sodass du sie direkt in der Praxis anwenden kannst und ein tiefes Verständnis für ihre Einsatzmöglichkeiten erhältst.

7.1 Aggregatfunktionen

Aggregatfunktionen kennst du bereits aus Kapitel 6: Sie fassen mehrere Zeilen zusammen und liefern einen einzelnen Wert. Mit diesen Funktionen kannst du Kennzahlen über ganze Datensätze berechnen, z. B. Summen, Durchschnitte oder Extremwerte. Sie sind besonders hilfreich, wenn du Daten nicht nur abrufst, sondern analysierst.

Zu den wichtigsten Aggregatfunktionen gehören:

FunktionBeschreibungBeispiel
COUNT()Zählt die Anzahl der Zeilen oder WerteSELECT COUNT(*) AS anzahl_bestellungen FROM bestellungen;
SUM()Summiert numerische WerteSELECT SUM(betrag) AS gesamtbetrag FROM bestellungen;
AVG()Berechnet den DurchschnittSELECT AVG(betrag) AS durchschnitt FROM bestellungen;
MIN()Gibt den kleinsten Wert zurückSELECT MIN(betrag) AS kleinster_betrag FROM bestellungen;
MAX()Gibt den größten Wert zurückSELECT MAX(betrag) AS groesster_betrag FROM bestellungen;

 

Praxis-Hinweise:

  • COUNT wird oft verwendet, um die Anzahl von Benutzern, Bestellungen oder Produkten zu ermitteln.
  • SUM und AVG liefern schnelle Kennzahlen über Umsätze, Mengen oder Mittelwerte.
  • MIN und MAX helfen, Extremwerte zu erkennen und Ausreißer zu identifizieren.
  • Alle Aggregatsfunktionen lassen sich mit WHERE oder GROUP BY kombinieren, um gezielt bestimmte Datensätze auszuwerten.

7.2 Zeichenkettenfunktionen

Zeichenkettenfunktionen (String-Funktionen) ermöglichen es dir, Texte in SQL zu bearbeiten, zu formatieren oder zusammenzuführen.

FunktionBeschreibungBeispiel
CONCAT()Verbindet mehrere ZeichenkettenSELECT CONCAT(vorname, ‚ ‚, nachname) FROM mitarbeiter;
SUBSTRING()Extrahiert Teilstrings aus einem TextSELECT SUBSTRING(name, 1, 3) FROM produkte;
UPPER()Wandelt Text in Großbuchstaben umSELECT UPPER(stadt) FROM bestellungen;
LOWER()Wandelt Text in Kleinbuchstaben umSELECT LOWER(stadt) FROM bestellungen;
TRIM()Entfernt führende oder nachfolgende LeerzeichenSELECT TRIM(name) FROM kunden;
REPLACE()Ersetzt bestimmte Zeichen oder TextteileSELECT REPLACE(name, ‚a‘, ‚A‘) FROM kunden;

 

Praxis-Hinweis: String-Funktionen sind besonders nützlich, wenn du Daten bereinigen, formatieren oder Berichte erstellen möchtest. Sie helfen dabei, Texte zusammenzuführen, zu kürzen oder gezielt zu verändern.

7.3 Numerische Funktionen

Numerische Funktionen ermöglichen es dir, Berechnungen direkt in SQL durchzuführen. Sie sind besonders hilfreich für Kalkulationen, Statistiken oder Preisberechnungen.

FunktionBeschreibungBeispiel
ROUND()Rundet eine Zahl auf eine bestimmte Anzahl von DezimalstellenSELECT ROUND(preis, 2) FROM produkte;
CEIL() / CEILING()Rundet eine Zahl aufSELECT CEIL(preis) FROM produkte;
FLOOR()Rundet eine Zahl abSELECT FLOOR(preis) FROM produkte;
ABS()Gibt den Absolutwert einer Zahl zurückSELECT ABS(-10);
POWER()Berechnet eine PotenzSELECT POWER(2,3);
SQRT()Berechnet die QuadratwurzelSELECT SQRT(16);
MOD()Gibt den Rest einer Division zurückSELECT MOD(10,3);

 

Praxis-Hinweis: Numerische Funktionen eignen sich für Preisberechnungen, statistische Auswertungen oder mathematische Operationen direkt in deinen SQL-Abfragen.

7.4 Datums- und Zeitfunktionen

Datums- und Zeitfunktionen ermöglichen es dir, Daten zeitlich zu analysieren, zu formatieren oder zu berechnen. Sie sind besonders nützlich für Berichte, Analysen oder Zeitintervalle.

FunktionBeschreibungBeispiel
NOW() / CURRENT_TIMESTAMPGibt das aktuelle Datum und die aktuelle Uhrzeit zurückSELECT NOW();
CURDATE() / CURRENT_DATEGibt das aktuelle Datum zurückSELECT CURDATE();
YEAR(), MONTH(), DAY()Extrahiert Jahr, Monat oder Tag aus einem DatumSELECT YEAR(bestelldatum) FROM bestellungen;
DATEADD()Addiert Tage, Monate oder Jahre zu einem DatumSELECT DATEADD(day, 7, bestelldatum) FROM bestellungen;
DATEDIFF()Berechnet die Differenz zwischen zwei DatenSELECT DATEDIFF(CURDATE(), bestelldatum) FROM bestellungen;
DATEPART()Gibt bestimmte Teile eines Datums zurück (z. B. Monat oder Jahr)SELECT DATEPART(MONTH, bestelldatum) FROM bestellungen;
TO_DATE() / STR_TO_DATE()Wandelt einen Text in ein Datum umSELECT TO_DATE(‚2025-09-03′,’YYYY-MM-DD‘);
FORMAT()Formatiert ein Datum nach WunschSELECT FORMAT(bestelldatum, ‚dd.MM.yyyy‘) FROM bestellungen;

 

Praxis-Hinweis: Mit Datums- und Zeitfunktionen kannst du z. B. monatliche Umsätze berechnen, Lieferzeiten analysieren oder zeitbasierte Berichte direkt in SQL erstellen.

7.5 Logische Funktionen

Logische Funktionen helfen dir beim Umgang mit NULL-Werten oder bei bedingten Berechnungen und machen deine Abfragen robuster.

FunktionBeschreibungBeispiel
COALESCE()Gibt den ersten Nicht-NULL-Wert zurückSELECT COALESCE(rabatt, 0) FROM bestellungen;
NULLIF()Gibt NULL zurück, wenn zwei Werte gleich sindSELECT NULLIF(10,10);
CASE WHEN … THEN … ELSE … ENDBedingte Logik innerhalb einer AbfrageSELECT CASE WHEN betrag > 50 THEN ‚hoch‘ ELSE ’niedrig‘ END FROM bestellungen;
ISNULL() / IFNULL()Ersetzt NULL durch einen definierten WertSELECT ISNULL(betrag,0) FROM bestellungen;

 

Praxis-Hinweis: Mit logischen Funktionen kannst du Abfragen absichern, Standardwerte setzen oder komplexe Bedingungen direkt in SQL formulieren. Sie sind unverzichtbar für saubere und zuverlässige Datenanalysen.

7.5 Zusammenfassung

In diesem Kapitel hast du einen umfassenden Überblick über die wichtigsten SQL-Funktionen erhalten. Von Aggregatfunktionen über String-, Zahlen- und Datumsfunktionen bis hin zu logischen Funktionen – SQL bietet dir ein mächtiges Werkzeugset, um Daten direkt in Abfragen zu analysieren, zu transformieren und zu berechnen.

Mit diesen Funktionen kannst du Daten formatieren und bereinigen, Berechnungen durchführen, Kennzahlen erstellen, zeitbasierte Auswertungen durchführen und Bedingungen oder NULL-Werte gezielt handhaben. Kombiniert mit GROUP BY und HAVING aus Kapitel 6 ermöglichen sie dir, sehr mächtige und aussagekräftige Abfragen zu erstellen. So kannst du Daten nicht nur abrufen, sondern gezielt analysieren, transformieren und strukturieren, sodass du fundierte Entscheidungen auf Basis deiner Daten treffen kannst. Insgesamt bildet dieses Kapitel die Grundlage, um SQL-Abfragen flexibel und effizient zu gestalten und deine Datenbank optimal auszuwerten.

SQL-Funktionen Cheat Sheet

SQL-Funktionen Cheat Sheet

Das SQL-Funktionen Cheat Sheet fasst die wichtigsten Funktionen in einer kompakten Tabelle zusammen und bietet dir praktische Beispiele für den direkten Einsatz. So findest du schnell die passende Funktion – egal ob für Auswertungen, Textbearbeitung oder Datumsberechnungen. Ein idealer Begleiter, wenn du SQL effizient anwenden willst.

Hier kannst du das SQL-Funktionen Cheat Sheet kostenlos herunterladen: SQL-Funktionen Cheat Sheet (PDF)

Quiz zu Datenbankdesign

Teste dein Wissen mit diesen Fragen:
  1. Welche Funktion zählt die Anzahl der Zeilen in einer Tabelle?
    • a) SUM()
    • b) COUNT()
    • c) AVG()
  2. Welche Funktion verbindet mehrere Zeichenketten zu einem String?
    • a) CONCAT()
    • b) SUBSTRING()
    • c) TRIM()
  3. Welche Datumsfunktion liefert das aktuelle Datum und die aktuelle Uhrzeit?
    • a) CURDATE()
    • b) NOW() / CURRENT_TIMESTAMP
    • c) DATEPART()