SQL-Dojo · Tabellen verbinden (JOIN)

Ergebnisse vereinen mit UNION

Übungsaufgabe aus der Lernplattform: Aufgabenstellung hier lesen, Lösung dort schreiben und automatisch prüfen lassen.

Leicht , Schwierigkeit 2 von 5 ca. 8 Minuten 15 XP Track: Tabellen verbinden (JOIN)

UNION gehört eigentlich nicht zu den JOINs, wird aber oft in einem Atemzug mit ihnen genannt. Der Unterschied in einem Bild:

JOIN  -> Spalten NEBENeinander  (horizontal, Breite wächst)

    ┌────┬──────┐   ┌────┬──────┐     ┌────┬──────┬──────┐
    │ A  │ ...  │ + │ B  │ ...  │  =  │ A  │ B    │ ...  │
    └────┴──────┘   └────┴──────┘     └────┴──────┴──────┘

UNION -> Zeilen UNTEReinander     (vertikal, Länge wächst)

    ┌──────────┐   ┌──────────┐     ┌──────────┐
    │ SELECT A │ + │ SELECT B │  =  │ A        │
    └──────────┘   └──────────┘     │ B        │
                                    └──────────┘

Typischer Anwendungsfall: Du hast zwei Tabellen mit ähnlichem Inhalt und willst sie in einer Liste sehen. Beispiel: Alle Städte, in denen entweder eine Abteilung oder ein Kunde sitzt. Einmal aus abteilungen.stadt, einmal aus kunden.stadt, zusammen als eine Städte-Liste.

Das steckt in der vollständigen Aufgabe

  1. So funktioniert's
  2. UNION vs. UNION ALL
  3. Die Tabellen
  4. Deine Aufgabe

Die vollständige Aufgabenstellung mit Beispieldaten, Hinweisen und erklärter Musterlösung steht in der Lernplattform.

Lernplattform

Schreib die Lösung, wir prüfen sie.

In der Lernplattform arbeitest du direkt im Browser. Deine Lösung wird automatisch geprüft, mit Hinweisen bei Fehlern und einer erklärten Musterlösung.

Diese Aufgabe lösen

Weitere Aufgaben aus Tabellen verbinden (JOIN)

Alle Aufgaben
  1. INNER JOIN: Tabellen verbinden Das ist die erste Challenge im JOIN-Track. Bevor du die Aufgabe löst, solltest du verstehen, warum es überhaupt mehrere Tabellen gibt und wie man sie wieder zusammenführt. Beides ist der Kern jeder... Leicht , Schwierigkeit 2 von 5 ca. 10 Minuten
  2. Projekte mit Kunden verknüpfen In der Tabelle projekte steht nur die kundeid, nicht der Kundenname. Den musst du aus der Tabelle kunden dazuholen. Klassisches Reporting-Szenario: die Chefetage will eine Projektliste mit Klarname... Leicht , Schwierigkeit 2 von 5 ca. 7 Minuten
  3. LEFT JOIN: alle Zeilen der linken Tabelle Beim INNER JOIN hast du gelernt: Nur Zeilen, die in beiden Tabellen einen Partner haben, bleiben im Ergebnis. Genau das ist aber oft nicht, was man will. Beispiel: "Gib mir alle Kunden mit der Anza... Leicht , Schwierigkeit 2 von 5 ca. 10 Minuten
  4. Fehlende Zuordnungen finden Das ist das klassische Prüfungs-Muster: "Finde alle Kunden ohne Projekt", "Finde alle Mitarbeiter ohne Zuteilung", "Finde alle Produkte ohne Bestellung". Die Antwort ist immer dieselbe Technik: LEF... Mittel , Schwierigkeit 3 von 5 ca. 10 Minuten

Zurück zur Übersicht Tabellen verbinden (JOIN)