| .. | ||
| aufgabe.sql | ||
| index.html | ||
| musterloesung.sql | ||
| README.md | ||
| test_aufgabe.sql | ||
SQL 06: Relationale Joins (INNER, LEFT & Multi-Table) 🔀
Willkommen zu Modul 06 des SQL & Datenbanken Kurses!
In relationalen Datenbanken sind Daten über mehrere spezialisierte Tabellen verteilt. Mit JOINs führst du diese Daten zur Abfragezeit wieder zusammen.
💡 1. Das Wichtigste in Kürze
Die wichtigsten Join-Typen
INNER JOIN: Liefert nur Datensätze zurück, bei denen in beiden Tabellen eine Übereinstimmung vorliegt (Schnittmenge).LEFT JOIN(LEFT OUTER JOIN): Liefert alle Zeilen der linken Tabelle, ergänzt um die passenden Daten der rechten Tabelle. Gibt es rechts keinen Treffer, werden die Spalten mitNULLaufgefüllt.- Anti-Join: Ein
LEFT JOINkombiniert mitWHERE rechte_tabelle.id IS NULL, um Datensätze zu finden, die keine Zuordnung haben.
Syntax mit Tabellen-Aliasen
-- 1. INNER JOIN (Nur Mitarbeiter mit zugewiesener Abteilung)
SELECT m.name, m.rolle, a.name AS abteilungs_name
FROM mitarbeiter m
INNER JOIN abteilungen a ON m.abteilung_id = a.id;
-- 2. LEFT JOIN (Alle Mitarbeiter, auch jene ohne Abteilung wie externe Berater)
SELECT m.name, m.rolle, a.name AS abteilungs_name
FROM mitarbeiter m
LEFT JOIN abteilungen a ON m.abteilung_id = a.id;
-- 3. Anti-Join (Finde alle Abteilungen OHNE Mitarbeiter)
SELECT a.id, a.name
FROM abteilungen a
LEFT JOIN mitarbeiter m ON a.id = m.abteilung_id
WHERE m.id IS NULL;
-- 4. Multi-Table JOIN (3 Tabellen verknüpfen)
SELECT m.name AS mitarbeiter, a.name AS abteilung, s.stadt, s.land
FROM mitarbeiter m
INNER JOIN abteilungen a ON m.abteilung_id = a.id
INNER JOIN standorte s ON a.standort_id = s.id;
🎯 Aufgaben in aufgabe.sql
- TODO 1: Tabellen
standorte,abteilungenundmitarbeitermit Testdaten anlegen. - TODO 2:
INNER JOIN: Mitarbeiter mit Abteilungsnamen abfragen. - TODO 3:
LEFT JOIN: Alle Mitarbeiter (inklusive externe Berater ohne Abteilung) abfragen. - TODO 4: Anti-Join: Alle Abteilungen finden, denen noch kein Mitarbeiter zugewiesen ist.
- TODO 5: Multi-Table JOIN: Verbinde
mitarbeiter,abteilungenundstandorte.
🚀 Ausführung
Klicke in der Web-IDE auf Code ausführen oder Tests ausführen, um deine Join-Abfragen auszuführen.