Zum Hauptinhalt springen

Left join und right join: Unterschied und Verwendungsregeln

In der Welt relationaler Datenbanken gibt es verschiedene Arten von Join-Operationen, mit denen Sie Daten aus zwei oder mehr Tabellen zusammenführen können. Einige der häufigsten Join-Operationen sind left join und right join. In diesem Artikel werden wir den Unterschied zwischen den beiden und die Regeln für die Verwendung jedes einzelnen betrachten.

Ein Left join ist eine Operation, die alle Datensätze aus der linken Tabelle und die entsprechenden Datensätze aus der rechten Tabelle zurückgibt. Wenn keine übereinstimmenden Datensätze in der rechten Tabelle vorhanden sind, sind die Spaltenwerte in der rechten Tabelle NULL. Mit dem left Join können Sie also alle Datensätze aus der linken Tabelle auswählen und ggf. entsprechende Datensätze aus der rechten Tabelle hinzufügen.

Right join gibt im Gegensatz zu left join alle Datensätze aus der rechten Tabelle und die entsprechenden Datensätze aus der linken Tabelle zurück. Wenn keine übereinstimmenden Datensätze in der linken Tabelle vorhanden sind, sind die Spaltenwerte in der linken Tabelle NULL. Right join wird verwendet, wenn Sie alle Datensätze aus der rechten Tabelle auswählen und die entsprechenden Datensätze aus der linken Tabelle hinzufügen möchten.

Bei beiden Join-Vorgängen können Sie zusätzliche Bedingungen im Abschnitt ON verwenden, um die Daten weiter zu filtern. Es ist auch möglich, einen left join und einen right join zusammen in einer Abfrage zu verwenden. In diesem Fall werden alle Datensätze aus beiden Tabellen zurückgegeben, wobei die Daten aus der linken und rechten Tabelle NULL sein können, wenn keine übereinstimmenden Datensätze vorhanden sind.

Left join und right join: Was ist das und was ist das?

Left join wird verwendet, um alle Datensätze aus der linken Tabelle und die entsprechenden Datensätze aus der rechten Tabelle abzurufen. Dadurch werden alle Zeilen aus der linken Tabelle eingeschlossen, einschließlich derjenigen, für die in der rechten Tabelle kein entsprechender Datensatz vorhanden ist.

Ein Right join wird dagegen verwendet, um alle Datensätze aus der rechten Tabelle und die entsprechenden Datensätze aus der linken Tabelle abzurufen. Das heißt, das Ergebnis enthält alle Zeilen aus der rechten Tabelle, einschließlich derjenigen, für die in der linken Tabelle kein entsprechender Datensatz vorhanden ist.

Normalerweise werden left join und right join verwendet, wenn Sie alle Datensätze aus einer Tabelle suchen und sie, wenn Sie die entsprechenden Datensätze in einer anderen Tabelle haben, miteinander verbinden möchten. Dies ist besonders nützlich, wenn wir eine Tabelle mit grundlegenden Informationen und eine Tabelle mit zusätzlichen Daten haben und alle Datensätze aus der Basistabelle abrufen möchten, auch wenn es keinen entsprechenden Datensatz in der zusätzlichen Tabelle gibt.

Unterschiede zwischen Left join und Right join

Left join gibt alle Zeilen aus der linken (ersten) Tabelle und die entsprechenden Zeilen aus der rechten (zweiten) Tabelle zurück. Wenn in der rechten Tabelle keine passenden Zeilen vorhanden sind, werden NULL-Werte für diese Zeilen eingefügt.

Beispiel für die Verwendung von Left join:

SELECT *FROM таблица1LEFT JOIN таблица2 ON условие_объединения;

Right join gibt alle Zeilen aus der rechten (zweiten) Tabelle und die entsprechenden Zeilen aus der linken (ersten) Tabelle zurück. Wenn in der linken Tabelle keine passenden Zeilen vorhanden sind, werden NULL-Werte für diese Zeilen eingefügt.

Beispiel für die Verwendung von Right join:

SELECT *FROM таблица1RIGHT JOIN таблица2 ON условие_объединения;

Es ist wichtig zu beachten, dass sich die Reihenfolge der Tabellen in einer Abfrage auf das Resultdataset auswirken kann. Die Verwendung von Left join oder Right join hängt davon ab, welche Daten aus der Tabelle abgerufen werden sollen und in welcher Reihenfolge die Tabelle zusammengeführt werden soll.

Die richtige Wahl zwischen Left join und Right join hilft Ihnen, die richtige Datenstruktur zu erreichen und sicherzustellen, dass die Abfrage ordnungsgemäß funktioniert.

Wann man Left join verwendet

Der Left join wird in SQL-Abfragen verwendet, um zwei Tabellen zu verbinden, wobei alle Zeilen aus der linken Tabelle in das Ergebnis eingeschlossen werden, auch wenn in der rechten Tabelle keine übereinstimmenden Werte vorhanden sind.

Wenn alle Daten aus der linken Tabelle wichtig sind:

  • Wenn es notwendig ist, eine Liste aller Kunden zu erhalten, einschließlich derjenigen, die keinen Kauf getätigt haben.
  • Wenn Sie alle Mitarbeiter und ihre Abteilungen anzeigen möchten, einschließlich derjenigen, die keiner Abteilung zugeordnet sind.

Wann müssen Daten aus der rechten Tabelle gefiltert werden:

  • Wenn Sie eine Liste aller Bestellungen und die entsprechenden Kunden anzeigen möchten, einschließlich der Bestellungen ohne Kunden.
  • Wenn Sie eine Liste aller Käufer und den Betrag anzeigen müssen, den sie ausgegeben haben, selbst wenn sie keine Einkäufe haben.

Wenn Sie Berichte erstellen müssen, die alle Daten enthalten, nicht nur diejenigen, die in beiden Tabellen übereinstimmen, ist ein left join ein nützliches Werkzeug.

Wann man right join benutzt

Right join wird verwendet, wenn Sie alle Werte aus der rechten Tabelle (der nach dem Schlüsselwort RIGHT JOIN angegebenen Tabelle) sowie Werte aus der linken Tabelle (der nach dem Schlüsselwort LEFT JOIN angegebenen Tabelle) abrufen möchten, die die Join-Bedingung erfüllen.

Right join ist in folgenden Fällen nützlich:

  • Wann müssen alle Werte aus der rechten Tabelle abgerufen werden, unabhängig davon, ob die entsprechenden Werte in der linken Tabelle vorhanden sind;
  • Wenn Sie Daten aus zwei Tabellen abrufen möchten, liegt der Schwerpunkt auf den Daten in der rechten Tabelle.

Ein Beispiel für die Verwendung von right join kann beispielsweise sein, dass alle Produkte aus einem Katalog abgerufen werden, einschließlich Lieferanteninformationen, wobei auch Produkte ohne entsprechende Lieferanten ausgegeben werden.