SQL macht es einfach, relationale Datenbanken zu verwalten, indem man zwei oder mehr Tabellen über gemeinsame Spalten miteinander verbindet. Der Befehl SQL Left Join oder LEFT OUTER JOIN) ermöglicht es dir, einen Schritt weiter zu gehen...
SQL ist eine Abfragesprache, die von Natur aus mit relationalen Datenbanken in Verbindung gebracht wird. SQL ist so beliebt, weil seine Syntax relativ einfach zu erlernen ist und den Weg für das einfache Erstellen und Manipulieren von Tabellen und darauf aufbauend von Datenbanken, die diese Tabellen miteinander verbinden, ebnet. Ihre Stärke liegt darin, dass sie sehr genaue Informationen aus großen Datenbanken extrahieren kann.
Eine der Stärken dieser Sprache ist die Fähigkeit, Tabellen miteinander zu verknüpfen. Was bedeutet das? Durch die Kombination von Daten aus mehreren Tabellen können wir Querverweise erhalten, die für Data Scientists besonders interessant sind.
SQL Left Joins sind daher ein wesentlicher Bestandteil von SQL. Es gibt zwei Arten von Verknüpfungen, die man in Betracht ziehen kann…
💡Auch interessant:
Apache Cassandra noSQL BDD |
SQL Joins |
SQL Count Tutorial |
SQL Datei öffnen |
SQL vs. NOSQL |
Was sind die 2 Arten von SQL JOINTS?
Es gibt zwei Arten von Gelenken: interne und externe Gelenke. Was ist das genau?
- Intern (INNER): Wir haben es hier mit einem Join zu tun, der es ermöglicht, Daten auf der Grundlage von Spaltenübereinstimmungen zwischen zwei Tabellen zu extrahieren, die auf einer Bedingung basieren.
- Wenn wir zum Beispiel eine Tabelle haben, die die Filme eines Videoclubs mit vielen Details (Schauspieler, Regisseur, Erscheinungsjahr) auflistet, und eine andere, viel einfachere Tabelle, die angibt, welche Filme ausgeliehen wurden, könnten wir leicht eine detaillierte Liste der Filme erhalten, die derzeit ausgeliehen werden. Die Bedingung, die verwendet wird, ist normalerweise der Gleichheitsoperator, aber es kann auch <, <=, > usw. sein.
- Extern (OUTER): Dieser Join ermöglicht es, Datensätze mit Übereinstimmungen wie im vorherigen Fall zu extrahieren, aber auch Datensätze, die keine Übereinstimmungen zwischen der ersten, zweiten oder anderen Tabellen haben, anzuzeigen. Wir werden später sehen, wie nützlich ein solcher externer Join sein kann.
Drei Arten externer Gelenke
Wir haben drei Arten von externen Joins zur Verfügung.
- LEFT JOIN / LEFT OUTER JOIN: „Linker“ Join (mit der Tabelle, die auf den FROM-Befehl folgt).
- RIGHT JOIN / RIGHT OUTER JOIN (mit der Tabelle, die rechts vom Operator steht).
- FULL JOIN / FULL OUTER JOIN (um die Zeilen aus beiden Tabellen zu extrahieren).
In der Praxis wird der Befehl LEFT JOIN am häufigsten verwendet, da er sich von selbst versteht, wie wir weiter unten in einem Beispiel sehen werden.
SQL Left Join
Der SQL Left Join Befehl ist der am häufigsten verwendete Befehl für externe Verknüpfungen. Er listet alle Elemente auf, die zwei Tabellen gemeinsam sind, aber auch alle Elemente der linken Tabelle (der Tabelle, die auf FROM folgt).
Betrachten wir zwei Tabellen: Tabelle1 und Tabelle2, wobei Tabelle1 die linke Tabelle ist. Der SQL Left Join führt dazu, dass alle Ergebnisse aus der linken Tabelle (Tabelle1) aufgelistet werden, auch wenn es keine Übereinstimmung zwischen den beiden Tabellen gibt.
Die Syntax könnte wie folgt aussehen:
SELECT *
FROM table1
LEFT JOIN table 2
ON table1.id = table2.id
Der SQL Left Join untersucht also jede Zeile in Tabelle 1. Wenn er eine Übereinstimmung findet, gibt er die gefundenen Daten in Tabelle2 aus. Aber was macht der SQL Left Join wenn es keine Übereinstimmung zwischen den beiden Tabellen gibt? Dann gibt er den Wert NULL für die betreffende Spalte zurück.
Welche Verwendung für SQL Left Join?
Was könnte also der Sinn einer solchen Bestellung sein?
Nehmen wir an, wir haben zwei Tabellen. Die erste Tabelle „Kunden“ enthält eine Liste aller Kunden des Unternehmens. Die zweite Tabelle Bestellungen enthält eine Liste aller Bestellungen, die von einigen dieser Kunden getätigt wurden.
Mit einem internen Join könnten wir eine Liste aller Kunden erhalten, die eine oder mehrere Bestellungen aufgegeben haben.
Nehmen wir jedoch an, dass wir den Status aller Kunden des Unternehmens wissen wollen, also ob sie eine Bestellung aufgegeben haben oder nicht. Diese Art von Informationen könnten wir mit SQL Left Join erhalten.
Und so könnte das Unternehmen registrierte Kunden, die noch nie eine Bestellung aufgegeben haben, ausfindig machen und sie gezielt ansprechen: ihnen Werbeangebote unterbreiten, versuchen zu verstehen, warum sie sich bisher noch nie für die Produkte oder Dienstleistungen des Unternehmens interessiert haben.