MySQL LEFT JOIN (Deutsch)

Zusammenfassung: In diesem Tutorial erfahren Sie mehr über die MySQL LEFT JOIN – Klausel und wie Sie sie anwenden, um Daten aus zwei oder mehr Tabellen abzufragen.

Einführung in MySQL LEFT JOIN

Mit der LEFT JOIN können Sie Daten aus zwei oder mehr Tabellen abfragen. Ähnlich wie dieINNER JOIN Klausel ist dieLEFT JOIN eine optionale Klausel derSELECT Anweisung, die unmittelbar nach derFROM Klausel erscheint.,

Angenommen, Sie möchten zwei Tabellen verbinden t1 und t2.

Die folgende Anweisung zeigt, wie die Klausel LEFT JOIN zum Verbinden der beiden Tabellen verwendet wird:

Code language: SQL (Structured Query Language) (sql)

Wenn Sie die Klausel LEFT JOIN verwenden, werden die Konzepte der linken Tabelle und der rechten Tabelle eingeführt.

In der obigen Syntax ist t1 die linke Tabelle und t2 die rechte Tabelle.,

DieLEFT JOIN – Klausel wählt Daten aus der linken Tabelle aus (t1). Es entspricht jeder Zeile aus der linken Tabelle (t1) mit jeder Zeile aus der rechten Tabelle (t2) basierend auf der join_condition.

Wenn die Zeilen aus beiden Tabellen dazu führen, dass die Join-Bedingung zu TRUE ausgewertet wird, kombiniert die LEFT JOIN Spalten von Zeilen aus beiden Tabellen zu einer neuen Zeile und schließt diese neue Zeile in die Ergebniszeilen ein.,

Falls die Zeile aus der linken Tabelle (t1) nicht mit einer Zeile aus der rechten Tabelle übereinstimmt (t2), kombiniert die LEFT JOIN weiterhin Zeilenspalten aus beiden Tabellen zu einer neuen Zeile und fügt die neue Zeile in die Ergebniszeilen ein. Es wird jedoch NULL für alle Spalten der Zeile aus der rechten Tabelle verwendet.

Mit anderen Worten, LEFT JOIN gibt alle Zeilen aus der linken Tabelle zurück, unabhängig davon, ob eine Zeile aus der linken Tabelle eine übereinstimmende Zeile aus der rechten Tabelle enthält oder nicht., Wenn keine Übereinstimmung vorliegt, enthalten die Spalten der Zeile aus der rechten Tabelle NULL.

Das folgende Venn – Diagramm hilft Ihnen bei der Visualisierung der Funktionsweise der LEFT JOIN – Klausel:

MySQL LEFT JOIN-Venn-Diagramm

MySQL LINKS JOIN Beispiele

Nehmen wir einige Beispiele für die Verwendung der LEFT JOIN Klausel.,

1) Verwenden der MySQL LEFT JOIN-Klausel zum Verbinden von zwei Tabellen

Siehe die folgenden Tabellen customers und orders in der Beispieldatenbank.

Jeder Kunde kann null oder mehr Bestellungen haben, während jede Bestellung einem Kunden gehören muss.,

Diese Abfrage verwendet die Klausel LEFT JOIN, um alle Kunden und ihre Bestellungen zu finden:

Code language: SQL (Structured Query Language) (sql)

Alternativ können Sie einige Eingaben mithilfe von Tabellenaliasen speichern:

Code language: SQL (Structured Query Language) (sql)

In diesem Beispiel:

  • Die customers ist die linke Tabelle und orders ist die rechte Tabelle.
  • DieLEFT JOIN – Klausel gibt alle Kunden zurück, einschließlich der Kunden, die keine Bestellung haben., Wenn ein Kunde keine Bestellung hat, sind die Werte in den Spalten orderNumber und status NULL.,

Da sowohl Tabellenkunden als auch Bestellungen in der Join-Bedingung mit dem Gleichheitsoperator denselben Spaltennamen haben ( customerNumber), können Sie die folgende Syntax verwenden:

Code language: SQL (Structured Query Language) (sql)

Die folgenden Klauseln sind äquivalent:

Code language: SQL (Structured Query Language) (sql)

Und

Code language: SQL (Structured Query Language) (sql)

Wenn Sie die LEFT JOIN Klausel durch die INNER JOIN Klausel ersetzen, erhalten Sie die einzigen Kunden, die mindestens eine Bestellung haben.,

2) Verwenden der MySQL LEFT JOIN-Klausel zum Suchen nicht übereinstimmender Zeilen

Die LEFT JOIN – Klausel ist sehr nützlich, wenn Sie Zeilen in einer Tabelle finden möchten, die keine übereinstimmende Zeile aus einer anderen Tabelle enthält.,“> um Kunden zu finden, die keine Bestellung haben:

Code language: SQL (Structured Query Language) (sql)

3) Verwenden von MySQL LEFT JOIN zum Verbinden von drei Tabellen

Siehe die folgenden drei Tabellen employees, customers und payments:

Dieses Beispiel verwendet zwei LEFT JOIN Klauseln, um die drei Tabellen zu verbinden: employees, customers und payments.,

Code language: SQL (Structured Query Language) (sql)

Dieses Bild zeigt die teilweise Ausgabe:

Wie es funktioniert.

  • Die erste LEFT JOIN gibt alle Mitarbeiter und Kunden, die jeden Mitarbeiter vertreten oder NULL wenn der Mitarbeiter nicht verantwortlich für jeden Kunden.
  • Die zweite LEFT JOIN gibt Zahlungen jedes Kunden zurück, der von einem Mitarbeiter repräsentiert wird, oder NULL wenn der Kunde keine Zahlung hat.

Bedingung in WHERE Klausel vs., AUF Klausel

Siehe das folgende Beispiel.

Code language: SQL (Structured Query Language) (sql)

In diesem Beispiel wurde die Klausel LEFT JOIN verwendet, um Daten aus den Tabellen orders und orderDetailsabzufragen. Die Abfrage gibt die Bestellung und ihre Positionen der Bestellnummer 10123zurück.,

Wenn Sie die Bedingung jedoch von der WHERE Klausel in die ON Klausel verschieben:

Es wird eine andere Bedeutung haben.,

In diesem Fall gibt die Abfrage alle Bestellungen zurück, aber nur die Reihenfolge 10123 ist wie im folgenden Bild mit Zeilenelementen verknüpft:

Beachten Sie, dass für INNER JOIN div>Klausel, die Bedingung in der ONKlausel entspricht der Bedingung in der WHERE Klausel.

In diesem tutorial haben Sie gelernt, wie Sie mit der MySQL LEFT JOIN – Klausel-join-Daten aus zwei oder mehr Tabellen.,

  • War dieses tutorial hilfreich?
  • YesNo

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.