Was sind SQL-Unterabfragen (Subqueries)?
SQL-Unterabfragen – auch Subqueries genannt – sind Abfragen innerhalb einer Abfrage. Sie ermöglichen es dir, komplexe Datenabfragen elegant zu strukturieren, ohne dabei mehrere einzelne SQL-Statements schreiben zu müssen.
Ein einfaches Beispiel:
SELECT Name
FROM Kunden
WHERE Umsatz > (
SELECT AVG(Umsatz)
FROM Kunden
);
Diese Abfrage zeigt dir alle Kundennamen, deren Umsatz über dem Durchschnitt liegt.
Die innere Abfrage berechnet den Durchschnittsumsatz, die äußere Abfrage filtert daraufhin alle Kunden mit höherem Umsatz.
Arten von SQL-Unterabfragen
Unterabfragen lassen sich auf verschiedene Arten einsetzen:
1. Im WHERE-Statement
Ideal, um Datensätze anhand eines berechneten Werts zu filtern.
Beispiel:
SELECT Produktname
FROM Produkte
WHERE Preis > (
SELECT AVG(Preis)
FROM Produkte
);
2. Im FROM-Statement (Inline View)
Hier wird die Unterabfrage wie eine temporäre Tabelle behandelt.
SELECT Kategorie, AVG(Preis) AS Durchschnittspreis
FROM (
SELECT Kategorie, Preis
FROM Produkte
) AS tmp
GROUP BY Kategorie;
3. Im SELECT-Statement
Unterabfragen können auch direkt Werte berechnen, z. B. zur Anzeige von Summen:
SELECT
Name,
(SELECT SUM(Betrag) FROM Bestellungen WHERE Kunden.ID = Bestellungen.KundenID) AS Gesamtbetrag
FROM Kunden;
Wann du Unterabfragen vermeiden solltest
Subqueries sind mächtig – aber nicht immer optimal. Bei großen Datenmengen kann ihre Nutzung Performance-Probleme verursachen. In solchen Fällen ist ein JOIN meist effizienter, da die Datenbank den Zusammenhang besser optimieren kann.
Beispiel – statt:
SELECT Name FROM Kunden WHERE ID IN (SELECT KundenID FROM Bestellungen);
besser:
SELECT DISTINCT Kunden.Name
FROM Kunden
JOIN Bestellungen ON Kunden.ID = Bestellungen.KundenID;
Tipp: SQL-Unterabfragen üben
Der beste Weg, Subqueries zu verstehen, ist das praktische Üben. Nutze Online-Tools wie learnsql.de oder baue eigene Übungsdatenbanken auf, um Abfragen Schritt für Schritt zu testen.
Wenn du bereits mit JOINs, GROUP BY und Aggregatfunktionen arbeitest, wirst du schnell erkennen, wie Unterabfragen deine SQL-Skripte übersichtlicher und flexibler machen.
Weiterführende Themen
- 🔗 SQL JOINs einfach erklärt
- 🔗 SQL CASE WHEN: Bedingungen in SQL richtig anwenden
- 🔗 Excel mit SQL verbinden – So geht’s
Fazit
SQL-Unterabfragen sind ein unverzichtbares Werkzeug, wenn du komplexe Datenanalysen effizient umsetzen möchtest. Sie machen Abfragen lesbarer, modularer und oft auch wartungsfreundlicher – solange du ihre Grenzen kennst.
📬 Du hast individuelle Fragen zu SQL oder möchtest lernen, wie du deine Datenbankabfragen optimierst?
Dann werde Mitglied auf meinem YouTube-Kanal – dort helfe ich dir persönlich weiter:
👉 https://www.youtube.com/@datenanalyst
📈 Weitere SQL-Tutorials und praxisnahe Datenanalyse-Tipps findest du auf:
👉 https://www.datenanalyst.com