Das Grundgerüst jeder Abfrage
SELECT spalten
FROM tabelle
WHERE bedingung
ORDER BY spalte;SELECT wählt die Spalten, FROM die Tabelle, WHERE filtert Zeilen vor der Ausgabe, ORDER BY sortiert (Standard aufsteigend, DESC für absteigend).
JOIN: zwei Tabellen verbinden
In der Prüfung fast immer dabei: Daten aus zwei Tabellen zusammenführen. Gegeben seien die Tabellen kunde und auftrag:
kunde(kunden_nr, name, ort)
auftrag(auftrags_nr, kunden_nr, summe)SELECT k.name, a.summe
FROM kunde k
INNER JOIN auftrag a ON k.kunden_nr = a.kunden_nr;Der INNER JOIN liefert nur Kunden, die mindestens einen Auftrag haben. Ein LEFT JOIN liefert zusätzlich alle Kunden ohne Auftrag (mit NULL in den Auftragsspalten), ein beliebter Prüfungsunterschied.
GROUP BY und HAVING
GROUP BY fasst Zeilen zu Gruppen zusammen, Aggregatfunktionen wie COUNT(), SUM(), AVG(), MIN() und MAX() rechnen pro Gruppe. HAVING filtert nach der Gruppierung, während WHERE vor der Gruppierung filtert.
SELECT ort, COUNT(*) AS anzahl
FROM kunde
GROUP BY ort
HAVING COUNT(*) >= 5;Liefert alle Orte, in denen mindestens 5 Kunden wohnen. Merke: WHERE filtert Zeilen, HAVING filtert Gruppen.
Häufige Fehler in der Prüfung
Jetzt selbst testen
Beantworte die Fragen und bekomme sofort Feedback, so viele Versuche du willst.
Welche Klausel filtert Gruppen nach einer Aggregatfunktion?
Was liefert ein LEFT JOIN von kunde nach auftrag zusätzlich zum INNER JOIN?
Welche Abfrage zählt die Kunden pro Ort?
Wie sortierst du das Ergebnis absteigend nach der Spalte summe?
Welche Aggregatfunktion berechnet den Durchschnitt einer Spalte?
Häufige Fragen
Was ist der Unterschied zwischen WHERE und HAVING?
WHERE filtert einzelne Zeilen, bevor gruppiert wird. HAVING filtert erst nach der Gruppierung und darf deshalb Aggregatfunktionen wie COUNT() oder SUM() enthalten. Beides kann in derselben Abfrage vorkommen.
Was ist der Unterschied zwischen INNER JOIN und LEFT JOIN?
Ein INNER JOIN liefert nur Datensätze, die in beiden Tabellen einen passenden Partner haben. Ein LEFT JOIN liefert zusätzlich alle Datensätze der linken Tabelle ohne Partner. Deren Spalten aus der rechten Tabelle sind dann NULL.
Welche Aggregatfunktionen muss ich für die IHK-Prüfung kennen?
Die fünf Klassiker: COUNT() zählt Zeilen, SUM() summiert, AVG() bildet den Durchschnitt, MIN() und MAX() liefern kleinsten und größten Wert. Sie werden fast immer zusammen mit GROUP BY geprüft.
Kommt SQL in der AP1 oder AP2 dran?
SQL kann in beiden Prüfungsteilen vorkommen. In der AP1 eher Grundlagen wie SELECT und WHERE, in der AP2 (besonders Anwendungsentwicklung) komplexere Abfragen mit JOINs, Gruppierungen und Unterabfragen.
Verwandte Themen
SQL interaktiv trainieren.
In der Lernarena schreibst du SQL-Abfragen mit sofortigem Feedback, Aufgaben im IHK-Stil und der KI-Tutorin Ada, die dir jede Klausel erklärt.