SQL-JOINs lernen: Tabellen sinnvoll verknüpfen
INNER JOIN oder LEFT JOIN? Ein kleines eigenes Kunden-Beispiel zeigt passende Schlüssel, fehlende Treffer und den Unterschied zwischen Zeilen und Personen.
Du kannst eine Tabelle filtern und möchtest nun Daten aus zwei Tabellen zusammenbringen. Dabei ist der wichtigste Schritt nicht das Merken eines neuen Schlüsselworts. Du musst verstehen, welche Zeilen zusammengehören und was mit Datensätzen ohne passenden Partner geschehen soll.
Mit einem kleinen Datenbestand beginnen
Für ein eigenes Beispiel enthält die Kundentabelle drei Personen mit den Kennungen 1, 2 und 3. Eine zweite Tabelle enthält drei Bestellungen: zwei für Kennung 1 und eine für Kennung 2. Kennung 3 hat keine Bestellung. Die Kennung stellt hier die fachlich festgelegte Zuordnung her; ein gleicher Vorname wäre kein verlässlicher Ersatz.
Verknüpfst du beide Tabellen passend über diesen Schlüssel mit einem INNER JOIN, entstehen drei Ergebniszeilen. Das bedeutet nicht drei bestellende Personen: Die Person mit Kennung 1 erscheint wegen ihrer zwei Bestellungen zweimal. Wer anschließend einfach Ergebniszeilen zählt, beantwortet möglicherweise eine andere Frage als beabsichtigt.
Fehlende Bestellungen sichtbar lassen
Ein LEFT JOIN von Kunden auf Bestellungen kann zusätzlich die Person ohne Bestellung erhalten. Im Beispiel ergeben sich vier Zeilen: zwei für Kennung 1, eine für Kennung 2 und eine ohne passende Bestelldaten für Kennung 3. Die fehlenden Werte müssen als solche behandelt werden, nicht als erfundene Bestellung mit dem Betrag null.
Eine anschließende WHERE-Bedingung kann dieses Ergebnis wieder verändern. Prüfst du dort nur eine Eigenschaft der Bestelltabelle, können Zeilen ohne Partner herausfallen. Kontrolliere deshalb nicht allein die Schreibweise des JOINs, sondern auch die Wirkung späterer Bedingungen.
Das Ergebnis vor der Abfrage vorhersagen
Zeichne die zwei kleinen Tabellen auf Papier und verbinde die passenden Kennungen. Schreibe auf, welche Zeilen du erwartest. Führe dann dieselbe Abfrage in einer lokalen Übungsdatenbank aus und vergleiche. Eine Abweichung ist ein Anlass zur Untersuchung, nicht zum nachträglichen Anpassen deiner Erwartung an eine ungeprüfte Ausgabe.
Dieser Einstieg ersetzt keinen vollständigen Datenbankkurs. Im Programmvergleich solltest du nach eigenen Abfragen, Testdaten und betreuter Fehlersuche fragen. Weitere Aufgaben zum begründeten Auswerten von Daten findest du in der Learning Zone.
Passende Ratgeber und Programme
- E-Learning: Eine Lernroutine für wenig Zeit aufbauen
- Mit KI lernen: Antworten prüfen statt nur übernehmen
- Python lernen: Ein kleines Projekt vollständig lösen
- Softwaretests lernen: Grenzen gezielt überprüfen
- Diagramme auswerten: Zahlen richtig einordnen
- "Berufspädagogik (Pflege)" mit dem Abschluss "Diploma Berufspädagogik in der Pflege" bei der SRH Fernhochschule
- S-O-S Training zur emotionalen Ersten Hilfe und Stressregulation bei helpers circle - Kati Bohnet
- Adobe Indesign Masterclass bei der Audiocation GmbH
- Ausbildung zum/zur Hundetrainer/in bei der ATN Akademie für angewandte Tierpsychologie und Tierverhaltenstraining AG