Zurück zur Artikelliste Artikel
7 Leseminuten

Wie man SQL JOINs lernt

JOINs sind einer der grundlegendsten und am häufigsten verwendeten SQL-Befehle für die Bearbeitung und Abfrage realer Datensätze. Sie sind aber auch eines der schwierigsten SQL-Themen, die es zu beherrschen gilt! In diesem Artikel lernen Sie eine effektive Strategie kennen, um die verschiedenen Arten von SQL-JOINs zu erlernen.

Wenn Daten in einer einzigen Tabelle gespeichert sind, können wir problemlos Zeilen abrufen und alle benötigten Informationen erhalten. Aber wenn Unternehmen skalieren, werden auch ihre Daten größer. Und in der Realität sind die Daten in der Regel über mehrere Tabellen in einer relationalen Datenbank verteilt. In Fällen, in denen sich die Daten über mehrere Tabellen erstrecken, müssen wir diese Tabellen zunächst zusammenführen, bevor wir Daten auswählen und verwenden können.

Was sind SQL-JOINs?

Wenn Sie als SQL-Anfänger mit der Arbeit an realen Datensätzen beginnen, werden Sie feststellen, dass Sie Daten aus mehr als einer Tabelle kombinieren müssen. Dazu müssen Sie den SQL-Befehl JOIN und all seine verschiedenen Varianten kennen.

JOINs werden in SQL-Abfragen verwendet, um Datensätze aus zwei Tabellen auf der Grundlage eines gemeinsamen eindeutigen Schlüssels zu verknüpfen. Normalerweise verwenden wir eine Kombination aus Primär- und Fremdschlüsseln, um die Tabellen zu verknüpfen. SQL-JOINs Das Konzept der JOINs ist oft entmutigend, vor allem, wenn Sie gerade erst anfangen. Die verschiedenen Arten von JOINs und ihre Anwendungsfälle machen es noch schwieriger, sie zu visualisieren.

JOINs

Arten von SQL-JOINs

JOINs sind in SQL ein sehr weites Feld. Was jeden JOIN-Typ von einem anderen unterscheidet, sind die Zeilen, die zurückgegeben werden, wenn die Verknüpfungsbedingung erfüllt (oder nicht erfüllt) ist. Um anzugeben, welcher JOIN-Typ verwendet werden soll, fügen Sie den Namen des JOIN-Typs - z. B. INNER, LEFT, RIGHT, FULL oder CROSS - vor dem Befehl JOIN ein.

Left Right Inner Full Join

Im Folgenden finden Sie einen kurzen Überblick über die verschiedenen JOIN-Typen:

Ein INNER JOIN gibt Zeilen zurück, wenn die Join-Bedingung in beiden Tabellen erfüllt ist. Mit anderen Worten, es werden nur die Datensätze zurückgegeben, die der Join-Bedingung in beiden Tabellen entsprechen. (Weitere Informationen über INNER JOINs finden Sie hier.) Dies ist die häufigste Art von SQL JOIN. Er ist auch die Standardeinstellung, wenn Sie den JOIN-Typ nicht angeben.

Ein OUTER JOIN gibt alle Zeilen aus einer Tabelle und einige oder alle Zeilen aus einer anderen Tabelle zurück. (Mehr über OUTER JOINs erfahren Sie hier.) Es gibt drei Arten von OUTER JOINs:

Ein LEFT JOIN gibt alle Zeilen aus der linken Tabelle zurück, auch wenn keine passenden Zeilen in der rechten Tabelle gefunden wurden. Wenn es keine Übereinstimmungen in der rechten Tabelle gibt, gibt die Abfrage NULL-Werte für diese Spalten zurück. In einem unserer früheren Artikel haben wir einen ausführlicheren Blick auf LEFT JOINs geworfen, der für Sie sehr nützlich sein dürfte.

Eine RIGHT JOIN gibt alle Zeilen aus der rechten Tabelle zurück. Wenn es keine Übereinstimmungen in der linken Tabelle gibt, werden für diese Spalten NULL-Werte zurückgegeben.

Eine FULL JOIN ist im Wesentlichen eine Kombination aus LEFT JOIN und RIGHT JOIN. Sie gibt alle Zeilen aus beiden Tabellen zurück. Wenn weder in der rechten noch in der linken Tabelle eine Übereinstimmung gefunden wird, werden NULL-Werte für diese Spalten zurückgegeben. Mit anderen Worten, es ist die Vereinigung der Spalten der beiden Tabellen.

Ein CROSS JOIN, oft auch als kartesischer JOIN bezeichnet, gibt jede mögliche Kombination von Zeilen aus den verbundenen Tabellen zurück. Da alle Kombinationen zurückgegeben werden, ist dies der einzige JOIN, der keine Join-Bedingung benötigt und daher keine ON Klausel hat. Mehr über CROSS JOINs erfahren Sie hier.

Sie können auch mehr über SQL-JOINs und ihre Typen in unserer YouTube-Serie We Learn SQL erfahren. Sehen Sie sich den Clip unten an. Abonnieren Sie unseren Kanal und hinterlassen Sie einen Kommentar!

JOINs können verwendet werden, um mehr als zwei Tabellen zu verbinden. Multiple JOINs sind Abfragen, die mehr als eine JOIN-Klausel enthalten. Sie können denselben JOIN-Typ haben oder verschiedene JOIN-Typen mischen. Diese Abfragen geben Ihnen die Möglichkeit, mehrere Tabellen zu kombinieren. Sie werden einfach durch Hinzufügen zusätzlicher JOIN-Klauseln zu Ihrer SELECT-Anweisung erstellt. Um mehrere Tabellen mit dieser Methode zu verbinden, muss eine logische Beziehung zwischen den Tabellen bestehen. Für einen spezifischeren Anwendungsfall empfehle ich Ihnen unseren Artikel über die Verknüpfung von 3 Tabellen (oder mehr) in SQL.

Beherrschung von SQL-JOINs

Um ein technisches Handwerk zu beherrschen, muss man reale Herausforderungen lösen und eine solide technische Grundlage haben. Um SQL-JOINs zu lernen, bedeutet dies:

Lernen der Grundlagen

Die Art und Weise, wie einige dieser JOINs funktionieren, ist oft schwer vorstellbar, so dass es sich auf jeden Fall lohnt, sich mit konkreten Beispielen für jeden dieser JOINs zu beschäftigen. Einer unserer früheren Artikel über die verschiedenen Arten von SQL-JOINs enthält detaillierte visuelle Beispiele. Wenn Sie die Beispiele durchgehen, lernen Sie die Einzigartigkeit der einzelnen JOINs zu schätzen und wie sie durch die JOIN-Syntax implementiert werden.

Obwohl die oben aufgeführten JOINs die meisten Anwendungsfälle abdecken, können reale Anwendungen manchmal die Implementierung von komplexeren JOIN-Typen rechtfertigen. Wir werden in diesem Artikel nicht näher darauf eingehen, aber lesen Sie unsere früheren Artikel über den Non-Equi JOIN und SELF JOIN.

Wahrscheinlich sind Sie begierig darauf, sich in die Materie einzuarbeiten und Ihre Fähigkeiten beim Erlernen von SQL-JOINs auf die Probe zu stellen. Nachdem ich jedoch meine eigene Lernreise hinter mir habe und den gleichen Eifer verspürt habe, würde ich Ihnen raten, Ihr neues Wissen zunächst gut zu verinnerlichen. Üben Sie es, bevor Sie mit echten Datenbanken beginnen.

Meiner Meinung nach ist eine der besten Möglichkeiten, die Grundlagen von SQL-JOINs zu erlernen, der SQL für Anfänger Kurs und seine Abschnitte über JOINs (Module 3 und 5). Sie müssen in der Lage sein, die verschiedenen JOIN-Typen zu vergleichen und zu verstehen, wie unterschiedlich die einzelnen JOINs ihre Ergebnisse zurückgeben. Versuchen Sie, die Interaktion zwischen den zu verbindenden Tabellen zu visualisieren; dieser Kurs wird Ihnen dabei helfen.

Üben an echten Datensätzen

SQL-JOINs kann ein ziemlich schwieriges Konzept sein, vor allem für Anfänger. Zum einen müssen die Lern- und Übungsmaterialien reale Anwendungsfälle widerspiegeln, damit die Lernenden den Stoff richtig erfassen können. Außerdem sind JOINS im wirklichen Leben oft komplizierter als die Beispiele im Lehrbuch. Sobald Sie die Grundlagen gelernt haben, müssen Sie das Schreiben von SQL JOINs in realistischen Szenarien üben.

Für den Einzelnen mag es schwierig sein, geeignete Datensätze zu finden. Das kann ich sehr gut nachvollziehen - ich habe das Gleiche durchgemacht. Außerdem ist es schwierig, sich eigene Übungen auszudenken, die die verschiedenen Arten von SQL-JOINs abdecken.

LearnSQL.de's SQL-JOINs Kurs bietet tiefgreifende Inhalte zum Erlernen und Üben von JOINs in einer interaktiven und strukturierten Umgebung. Die Datensätze sind realistisch und die Übungen ähneln realen Problemen. Sie müssen nichts herunterladen; alles wird in Ihrem Browser erledigt. Dieser Kurs vermittelt Ihnen alle JOIN-Kenntnisse, die Sie benötigen, um den Datensatz zu manövrieren. Er schließt mit einem Modul ab, das Ihr Wissen festigen soll. In diesem Kurs lernen Sie insbesondere Folgendes:

  • JOIN von Daten aus mehr als einer Tabelle.
  • JOIN mehrerer Tabellen in einer einzigen Abfrage.
  • JOIN einer Tabelle mit sich selbst.
  • JOIN von Tabellen über Nicht-Schlüsselspalten.
  • Die Anwendungsfälle von LEFT JOIN, RIGHT JOIN, FULL JOIN und nicht-äquivalenten JOINs verstehen.
  • Daten mit verschiedenen Arten von JOINs filtern.

Zusätzliche Tipps zum Lernen SQL-JOINs

Ich fand es recht nützlich, mit zwei Tabellen zu beginnen. Ich verknüpfte sie mit verschiedenen Verknüpfungstypen, eine nach der anderen, und verglich jedes Ergebnis mit meinen erwarteten Ergebnissen. Für diese Übung ist es am besten, einen kleineren Datensatz zu verwenden: Es ist einfacher, die Unterschiede zu visualisieren und wirklich zu verstehen, was "unter der Haube" passiert. Sie können sich auch ein Entity-Relationship-Diagramm (ERD) oder ein DB-Schemadiagramm ansehen, in dem alle Tabellenbeziehungen dargestellt sind. Dies kann Ihnen helfen, sich vorzustellen, wie Sie Tabellen in Ihren SQL-Abfragen miteinander verbinden können.

Wenn Sie SQL-JOINs üben, versuchen Sie, die Größe der Tabellen, mit denen Sie arbeiten, vorauszudenken. Wenn Sie zwei Tabellen verbinden, ist es aus Sicht der Rechenleistung wichtig, die Reihenfolge der Tabellen im JOIN zu berücksichtigen. Wenn Sie feststellen, dass eine der Tabellen wesentlich größer ist als die andere, sollten Sie Ihre Abfrage so umschreiben, dass die größere Tabelle an letzter Stelle steht.

Sie können SQL-JOINs lernen!

Wenn Sie glauben, dass SQL JOIN-Anweisungen für Sie unerreichbar sind, dann irren Sie sich!

Obwohl die JOIN-Anweisung oft als kompliziert empfunden wird, ist sie eine leistungsstarke und zeitsparende Technik. JOINs mögen anfangs abschreckend wirken, aber Sie werden den Dreh herausbekommen. Mit den richtigen Lern- und Übungsmaterialien werden Sie sogar SQL-JOINs beherrschen. Ich bin zuversichtlich, dass die oben beschriebenen Lernstrategien und Ressourcen Ihnen helfen werden. Sobald Sie die SQL für Anfänger und JOINs beherrschen, können Sie selbst in den komplexesten Datenbanken elegant manövrieren.