1st Jul 2024 6 Leseminuten SQL-JOINs Spickzettel LearnSQL.de Team Spickzettel SQL Cheat Sheet Deutsch JOIN Inhaltsverzeichnis Tabellen verbinden JOIN JOIN-Bedingungen NATURAL JOIN LEFT JOIN RIGHT JOIN FULL JOIN CROSS JOIN Spalten- und Tabellen-Aliase Self JOIN Non-equi self JOIN Mehrere JOINS JOIN & JOIN JOIN & LEFT JOIN LEFT JOIN & LEFT JOIN JOIN mit mehreren bedingungen Bereit, SQL-JOINs zu meistern? Holen Sie sich jetzt Ihr herunterladbares Spickzettel! Ihr Shortcut, um ein Experte für SQL-JOINs zu werden, ist nur einen Klick entfernt. Tauchen Sie tief in die Welt der SQL-JOINs ein mit unserem detaillierten SQL-JOIN Spickzettel auf Deutsch, einer unverzichtbaren Ressource für Datenbegeisterte auf jedem Niveau. Egal, ob Sie gerade erst anfangen oder Ihre Fähigkeiten schärfen möchten, dieser Leitfaden ist darauf zugeschnitten, Ihnen die schnelle Referenz zu bieten, die Sie benötigen, um SQL-JOINs effizient zu nutzen. In diesem Leitfaden zeigen wir die Syntax jedes JOIN-Typs, zusammen mit praktischen Beispielen. Von den Grundlagen des INNER JOIN bis zu den Komplexitäten des FULL OUTER JOIN und dem selten verwendeten NATURAL JOIN, wir haben alles für Sie abgedeckt. Neben den Standard-JOIN-Operationen diskutieren wir fortgeschrittene Konstruktionen, wie das doppelte Verbinden derselben Tabelle (Self-Join) und die Verwendung von Nicht-Gleichheitsbedingungen (Non-Equi Self Join). Darüber hinaus zeigen wir Abfragen mit mehreren JOINs und mehreren Bedingungen, die es Ihnen ermöglichen, reale Datenszenarien mit Finesse zu bewältigen. Verfügbar in den Formaten PDF und PNG für Ihre Bequemlichkeit, ist dieser Spickzettel so gestaltet, dass er leicht zugänglich ist, ideal zum Ausdrucken und in der Nähe zu halten für schnelle Referenzen. Download-Optionen: Download A4 PDF – Die Standardgröße für die meisten Drucker, bietet eine Balance zwischen Platz und Lesbarkeit. Download Mobile PDF – Ein mobile-freundliches PDF zum einfachen Durchblättern auf Ihrem Mobilgerät. Wenn Sie einen visuelleren Ansatz bevorzugen oder eine digital-freundliche Version für verschiedene Anwendungen benötigen, bieten wir das Spickzettel auch als hochauflösendes PNG-Bild an. Zum Herunterladen, rechtsklicken (für Desktop-Nutzer) oder lange tippen (für Mobil-Nutzer) auf das Bild. Tabellen verbinden JOIN kombiniert Daten aus zwei Tabellen. JOIN kombiniert typischerweise Zeilen mit gleichen Werten für die angegebenen Spalten. Normalerweise enthält eine Tabelle einen Primärschlüssel, d. h. eine oder mehrere Spalten, die Zeilen in der Tabelle eindeutig identifizieren (die Spalte Katze_Id in der Tabelle Katze ). Die andere Tabelle hat eine oder mehrere Spalten, die auf die Primärschlüsselspalten der ersten Tabelle verweisen (die Spalte Katze_Id in der Tabelle Spielzeug ). Solche Spalten sind Fremdschlüssel. Die JOIN Bedingung ist die Gleichheit zwischen den Primärschlüsselspalten in einer Tabelle und den Spalten, die sich auf sie in der anderen Tabelle beziehen. JOIN JOIN gibt alle Zeilen zurück, die mit der Bedingung ON übereinstimmen. JOIN wird auch als INNER JOIN bezeichnet. SELECT * FROM Spielzeug JOIN Katze ON Spielzeug.Katze_Id = Katze.Katze_Id; Es gibt auch eine andere, ältere Syntax, die jedoch nicht empfohlen wird. Führen Sie die verbundenen Tabellen in der FROM -Klausel auf und stellen Sie die Bedingungen in die WHERE -Klausel. SELECT * FROM Spielzeug, Katze WHERE Spielzeug.Katze_Id = Katze.Katze_Id; JOIN-Bedingungen Die Bedingung JOIN muss keine Gleichheit sein - sie kann jede beliebige Bedingung sein. JOIN interpretiert die Bedingung JOIN nicht, sondern prüft nur, ob die Zeilen die gegebene Bedingung erfüllen. Um in der Abfrage JOIN auf eine Spalte zu verweisen, müssen Sie den vollständigen Spaltennamen verwenden: zuerst den Tabellennamen, dann einen Punkt (.) und den Spaltennamen: ON Katze.Katze_Id = Spielzeug.Katze_Id Sie können den Tabellennamen weglassen und nur den Spaltennamen verwenden, wenn der Name der Spalte in allen Spalten der verbundenen Tabellen eindeutig ist. D.h. wenn er nur einmal vorkommt. NATURAL JOIN Wenn die Tabellen gleichnamige Spalten haben, können Sie NATURAL JOIN anstelle von JOIN verwenden. SELECT * FROM Spielzeug NATURAL JOIN Katze; Die gemeinsame Spalte erscheint nur einmal in der Ergebnistabelle. Hinweis: NATURAL JOIN wird in der Praxis selten verwendet. LEFT JOIN LEFT JOIN gibt alle Zeilen aus der linken Tabelle mit übereinstimmenden Zeilen aus der rechten Tabelle zurück. Zeilen ohne Übereinstimmung werden mit NULLs aufgefüllt. LEFT JOIN wird auch LEFT OUTER JOIN genannt. SELECT * FROM Spielzeug LEFT JOIN Katze ON Spielzeug.Katze_Id = Katze.Katze_Id; RIGHT JOIN RIGHT JOIN gibt alle Zeilen aus der rechten Tabelle mit übereinstimmenden Zeilen aus der linken Tabelle zurück. Zeilen ohne Übereinstimmung werden mit NULLs aufgefüllt. RIGHT JOIN wird auch RIGHT OUTER JOIN genannt. SELECT * FROM Spielzeug RIGHT JOIN Katze ON Spielzeug.Katze_Id = Katze.Katze_Id; FULL JOIN FULL JOIN gibt alle Zeilen aus der linken Tabelle und alle Zeilen aus der rechten Tabelle zurück. Sie füllt die nicht übereinstimmenden Zeilen mit NULLs auf. FULL JOIN wird auch FULL OUTER JOIN genannt. SELECT * FROM Spielzeug FULL JOIN Katze ON Spielzeug.Katze_Id = Katze.Katze_Id; CROSS JOIN CROSS JOIN gibt alle möglichen Kombinationen von Zeilen aus der linken und rechten Tabelle zurück. SELECT * FROM Spielzeug CROSS JOIN Katze; Andere Syntax: SELECT * FROM Spielzeug, Katze; Spalten- und Tabellen-Aliase Aliase geben einer Tabelle oder einer Spalte in einer Tabelle einen vorläufigen Namen. Ein Spaltenalias benennt eine Spalte im Ergebnis um. Ein Tabellenalias benennt eine Tabelle innerhalb der Abfrage um. Wenn Sie einen Tabellenalias definieren, müssen Sie ihn anstelle des Tabellennamens überall in der Abfrage verwenden. Das Schlüsselwort AS ist bei der Definition von Aliasen optional. SELECT b.Name AS Bes_Name, k.Katze_Name FROM Katze AS k JOIN Besitzer AS b ON k.Bes_Id = b.Id; Self JOIN Sie können eine Tabelle mit sich selbst verknüpfen, um z.B. eine Eltern-Kind-Beziehung darzustellen. Jedes Vorkommen der Tabelle muss mit einem anderen Alias versehen werden. Jeder Spaltenreferenz muss ein entsprechender Tabellenalias vorangestellt werden. SELECT Kind.Katze_Name AS Kind_Name, Mutter.Katze_Name AS Mutter_Name FROM Katze AS Kind JOIN Katze AS Mutter ON Kind.Mutter_Id = Mutter.Katze_Id; Non-equi self JOIN Sie können z.B. eine Ungleichheit in der Bedingung ON verwenden, um alle verschiedenen Zeilenpaare anzuzeigen. SELECT a.Spielzg_Name AS Spielzg_a, b.Spielzg_Name AS Spielzg_b FROM Spielzeug a JOIN Spielzeug b ON a.Katze_Id < b.Katze_Id; Mehrere JOINS Sie können mehr als zwei Tabellen miteinander verbinden. Zuerst werden zwei Tabellen verbunden, dann wird die dritte Tabelle mit dem Ergebnis der vorherigen Verbindung verbunden. JOIN & JOIN SELECT s.Spielzg_Name, k.Katze_Name, b.Name AS Bes_Name FROM Spielzeug s JOIN Katze k ON s.Katze_Id = k.Katze_Id JOIN Besitzer b ON k.Besitzer_Id = b.Id; JOIN & LEFT JOIN SELECT s.Spielzg_Name, k.Katze_Name, b.Name AS Bes_Name FROM Spielzeug s JOIN Katze k ON s.Katze_Id = k.Katze_Id LEFT JOIN Besitzer b ON k.Besitzer_Id = b.Id; LEFT JOIN & LEFT JOIN SELECT s.Spielzg_Name, k.Katze_Name, b.Name AS Bes_Name FROM Spielzeug s LEFT JOIN Katze k ON s.Katze_Id = k.Katze_Id LEFT JOIN Besitzer b ON k.Besitzer_Id = b.Id; JOIN mit mehreren bedingungen Sie können mehrere JOIN Bedingungen verwenden, indem Sie das ON Schlüsselwort einmal und die AND Schlüsselwörter so oft wie nötig verwenden. SELECT Katze_Name, b.Name AS Bes_Name, k.Alter AS Katze_Alter, b.Alter AS Bes_Alter FROM Katze k JOIN Besitzer b ON k.Besitzer_Id = b.Id AND k.Alter < b.Alter; Tags: Spickzettel SQL Cheat Sheet Deutsch JOIN