logo

MySQL LINKS JOIN

Der Left Join in MySQL wird verwendet, um Datensätze aus mehreren Tabellen abzufragen. Diese Klausel ähnelt der Inner Join-Klausel, die mit einer SELECT-Anweisung unmittelbar nach dem Schlüsselwort FROM verwendet werden kann. Wenn wir die Left-Join-Klausel verwenden, werden alle Datensätze aus der ersten (linken) Tabelle zurückgegeben, auch wenn aus der zweiten (rechten) Tabelle keine passenden Datensätze gefunden werden. Wenn in der Tabelle auf der rechten Seite kein übereinstimmender Datensatz gefunden wird, wird null zurückgegeben.

Mit anderen Worten: Die Left-Join-Klausel gibt alle Zeilen aus der linken Tabelle und übereinstimmende Datensätze aus der rechten Tabelle zurück oder gibt Null zurück, wenn kein übereinstimmender Datensatz gefunden wurde. Dieser Join kann auch als a bezeichnet werden Linke äußere Verbindung Klausel. Outer ist also das optionale Schlüsselwort, das mit Left Join verwendet werden kann.

Wir können es anhand der folgenden visuellen Darstellung verstehen, bei der Left Joins alle Datensätze aus der linken Tabelle und nur die passenden Datensätze aus der rechten Tabelle zurückgibt:

Text-Wrapper-CSS
MySQL LINKS JOIN

MySQL LEFT JOIN-Syntax

Die folgende Syntax erklärt die Left-Join-Klausel zum Verbinden von zwei oder mehr Tabellen:

 SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition; 

In der obigen Syntax gilt: Tabelle 1 ist die linke Tabelle, und Tabelle 2 ist die rechte Tabelle. Diese Klausel gibt alle Datensätze aus Tabelle1 und übereinstimmende Datensätze aus Tabelle2 basierend auf den angegebenen zurück Join-Bedingung .

MySQL LEFT JOIN-Beispiel

Nehmen wir einige Beispiele, um die Funktionsweise der Left Join- oder Left Outer Join-Klausel zu verstehen:

LEFT JOIN-Klausel zum Verbinden zweier Tabellen

Hier erstellen wir zwei Tabellen ' Kunden' Und ' Aufträge' das folgende Daten enthält:

Tabelle: Kunden

MySQL LINKS JOIN

Tabelle: Bestellungen

MySQL LINKS JOIN

Um Datensätze aus beiden Tabellen auszuwählen, führen Sie die folgende Abfrage aus:

 SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id; 

Nach erfolgreicher Ausführung der Abfrage wird folgende Ausgabe ausgegeben:

MySQL LINKS JOIN

MySQL LEFT JOIN mit USING-Klausel

Die Tabellen „customers“ und „orders“ haben denselben Spaltennamen, nämlich customer_id. In diesem Fall kann MySQL Left Join auch mit der USING-Klausel verwendet werden, um auf die Datensätze zuzugreifen. Die folgende Anweisung gibt Kunden-ID, Kundenname, Beruf, Preis und Datum unter Verwendung der Left-Join-Klausel mit dem Schlüsselwort USING zurück.

 SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id); 

Die obige Anweisung liefert die folgende Ausgabe:

MySQL LINKS JOIN

MySQL LEFT JOIN mit Group By-Klausel

Der Left Join kann auch mit der GROUP BY-Klausel verwendet werden. Die folgende Anweisung gibt Kunden-ID, Kundenname, Qualifikation, Preis und Datum unter Verwendung der Left-Join-Klausel mit der GROUP BY-Klausel zurück.

 SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price; 

Die obige Anweisung liefert die folgende Ausgabe:

Linux-Architektur
MySQL LINKS JOIN

LEFT JOIN mit WHERE-Klausel

Die WHERE-Klausel wird verwendet, um die zurückzugeben Filter Ergebnis aus der Tabelle. Das folgende Beispiel veranschaulicht dies anhand der Left-Join-Klausel:

 SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500; 

Diese Aussage liefert das folgende Ergebnis:

MySQL LINKS JOIN

MySQL LEFT JOIN Mehrere Tabellen

Wir haben bereits zwei Tabellen mit dem Namen „ Kunden' Und ' Aufträge' . Lassen Sie uns eine weitere Tabelle erstellen und sie wie folgt benennen: Kontakte‘, die folgende Daten enthält:

MySQL LINKS JOIN

Führen Sie die folgende Anweisung aus, um die drei Tabellen „Kunden“, „Bestellungen“ und „Kontakte“ zu verknüpfen:

 SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers LEFT JOIN contacts ON customer_id = contact_id LEFT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY income; 

Nach erfolgreicher Ausführung der obigen Abfrage wird die folgende Ausgabe ausgegeben:

MySQL LINKS JOIN

Verwendung der LEFT JOIN-Klausel, um nicht übereinstimmende Datensätze abzurufen

Die LEFT JOIN-Klausel ist auch in einem solchen Fall nützlich, wenn wir Datensätze in der Tabelle abrufen möchten, die keine übereinstimmenden Datenzeilen aus einer anderen Tabelle enthalten.

Wir können es anhand des folgenden Beispiels verstehen, das die LEFT JOIN-Klausel verwendet, um einen Kunden zu finden, der keine Mobiltelefonnummer hat:

 SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ; 

Die obige Anweisung gibt die folgende Ausgabe zurück:

MySQL LINKS JOIN

Unterschied zwischen WHERE- und ON-Klausel in MySQL LEFT JOIN

Im LEFT-Join führt die Bedingung WHERE und ON zu einem unterschiedlichen Ergebnis. Wir können die folgenden Abfragen sehen, um ihre Unterschiede zu verstehen:

WHERE-Klausel

 SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500; 

Es wird die folgende Ausgabe ausgegeben, die zurückkommt:

MySQL LINKS JOIN

ON-Klausel

partielle Ableitung in Latex
 SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500; 

Es wird die folgende Ausgabe ausgegeben:

MySQL LINKS JOIN

HINWEIS: Die WHERE- und ON-Bedingungen in der Inner Join-Klausel geben immer gleichwertige Ergebnisse zurück.