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:
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| COUNT() | Zählt die Anzahl der Zeilen oder Werte | SELECT COUNT(*) AS anzahl_bestellungen FROM bestellungen; |
| SUM() | Summiert numerische Werte | SELECT SUM(betrag) AS gesamtbetrag FROM bestellungen; |
| AVG() | Berechnet den Durchschnitt | SELECT AVG(betrag) AS durchschnitt FROM bestellungen; |
| MIN() | Gibt den kleinsten Wert zurück | SELECT MIN(betrag) AS kleinster_betrag FROM bestellungen; |
| MAX() | Gibt den größten Wert zurück | SELECT 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.
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| CONCAT() | Verbindet mehrere Zeichenketten | SELECT CONCAT(vorname, ‚ ‚, nachname) FROM mitarbeiter; |
| SUBSTRING() | Extrahiert Teilstrings aus einem Text | SELECT SUBSTRING(name, 1, 3) FROM produkte; |
| UPPER() | Wandelt Text in Großbuchstaben um | SELECT UPPER(stadt) FROM bestellungen; |
| LOWER() | Wandelt Text in Kleinbuchstaben um | SELECT LOWER(stadt) FROM bestellungen; |
| TRIM() | Entfernt führende oder nachfolgende Leerzeichen | SELECT TRIM(name) FROM kunden; |
| REPLACE() | Ersetzt bestimmte Zeichen oder Textteile | SELECT 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.
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| ROUND() | Rundet eine Zahl auf eine bestimmte Anzahl von Dezimalstellen | SELECT ROUND(preis, 2) FROM produkte; |
| CEIL() / CEILING() | Rundet eine Zahl auf | SELECT CEIL(preis) FROM produkte; |
| FLOOR() | Rundet eine Zahl ab | SELECT FLOOR(preis) FROM produkte; |
| ABS() | Gibt den Absolutwert einer Zahl zurück | SELECT ABS(-10); |
| POWER() | Berechnet eine Potenz | SELECT POWER(2,3); |
| SQRT() | Berechnet die Quadratwurzel | SELECT SQRT(16); |
| MOD() | Gibt den Rest einer Division zurück | SELECT 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.
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| NOW() / CURRENT_TIMESTAMP | Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück | SELECT NOW(); |
| CURDATE() / CURRENT_DATE | Gibt das aktuelle Datum zurück | SELECT CURDATE(); |
| YEAR(), MONTH(), DAY() | Extrahiert Jahr, Monat oder Tag aus einem Datum | SELECT YEAR(bestelldatum) FROM bestellungen; |
| DATEADD() | Addiert Tage, Monate oder Jahre zu einem Datum | SELECT DATEADD(day, 7, bestelldatum) FROM bestellungen; |
| DATEDIFF() | Berechnet die Differenz zwischen zwei Daten | SELECT 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 um | SELECT TO_DATE(‚2025-09-03′,’YYYY-MM-DD‘); |
| FORMAT() | Formatiert ein Datum nach Wunsch | SELECT 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.
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| COALESCE() | Gibt den ersten Nicht-NULL-Wert zurück | SELECT COALESCE(rabatt, 0) FROM bestellungen; |
| NULLIF() | Gibt NULL zurück, wenn zwei Werte gleich sind | SELECT NULLIF(10,10); |
| CASE WHEN … THEN … ELSE … END | Bedingte Logik innerhalb einer Abfrage | SELECT CASE WHEN betrag > 50 THEN ‚hoch‘ ELSE ’niedrig‘ END FROM bestellungen; |
| ISNULL() / IFNULL() | Ersetzt NULL durch einen definierten Wert | SELECT 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
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
- Welche Funktion zählt die Anzahl der Zeilen in einer Tabelle?
- a) SUM()
- b) COUNT()
- c) AVG()
- Welche Funktion verbindet mehrere Zeichenketten zu einem String?
- a) CONCAT()
- b) SUBSTRING()
- c) TRIM()
- Welche Datumsfunktion liefert das aktuelle Datum und die aktuelle Uhrzeit?
- a) CURDATE()
- b) NOW() / CURRENT_TIMESTAMP
- c) DATEPART()
Antworten:
1. b) COUNT()
2. a) CONCAT()
3. b) NOW() / CURRENT_TIMESTAMP
Die 5 wichtigsten SQL-Datenbanktypen im Überblick
Fast jede moderne Anwendung – ob Web-App, Mobile Game oder...
Artikel lesenDISTINCT verwenden: Doppelte Werte entfernen
Stell dir vor, du willst eine eindeutige Liste aller Länder...
Artikel lesenWarum deine SQL-Abfrage keine Ergebnisse liefert – 5 häufige Ursachen
Du hast deine SQL-Abfrage geschrieben, sie läuft ohne Fehlermeldung durch...
Artikel lesenINNER JOIN vs. OUTER JOIN vs. CROSS JOIN – anschaulich erklärt mit Beispielen
JOINs sind ein zentrales Werkzeug in SQL, mit dem Daten...
Artikel lesenVon SQL zu Power BI/Tableau – so funktioniert der Datenfluss
In der modernen Datenanalyse spielen SQL und BI-Tools wie Power...
Artikel lesenIndexes verstehen: Warum manche Queries ewig dauern und andere nicht
Hattest du jemals eine SQL-Query, die mal in Millisekunden und...
Artikel lesenINNER JOIN in SQL: So verbindest du Tabellen effizient
90 % aller SQL-Datenabfragen benötigen JOINs – doch der INNER...
Artikel lesenSQL-Fehler 1064? Hier sind die 10 häufigsten Syntaxfehler und wie du sie vermeidest
Der MySQL-Fehler 1064 gehört zu den am häufigsten auftretenden Problemen...
Artikel lesen