MySQL verfügt hauptsächlich über zwei Arten von Joins: LEFT JOIN und RIGHT JOIN. Der Hauptunterschied zwischen diesen Verknüpfungen besteht darin Einbeziehung nicht übereinstimmender Zeilen . Der LEFT JOIN umfasst alle Datensätze von der linken Seite und übereinstimmende Zeilen aus der rechten Tabelle, während RIGHT JOIN alle Zeilen von der rechten Seite und nicht übereinstimmende Zeilen aus der linken Tabelle zurückgibt. In diesem Abschnitt werden wir die beliebten Unterschiede zwischen LEFT- und RIGHT-Join kennenlernen. Bevor wir den Vergleich untersuchen, wollen wir zunächst die Klauseln JOIN, LEFT JOIN und RIGHT JOIN verstehen MySQL .
Was ist die JOIN-Klausel?
A verbinden wird zum Abfragen von Daten aus mehreren Tabellen verwendet und gibt über eine Bedingung das kombinierte Ergebnis aus zwei oder mehr Tabellen zurück. Die Bedingung in der Join-Klausel gibt an, wie Spalten zwischen den angegebenen Tabellen abgeglichen werden.
Was ist die LEFT JOIN-Klausel?
Die Left-Join-Klausel verbindet zwei oder mehr Tabellen und 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 wird. Es ist auch bekannt als Linke äußere Verbindung . Outer ist also das optionale Schlüsselwort, das mit Left Join verwendet werden kann.
Wir können es anhand der folgenden visuellen Darstellung verstehen:
Weitere Informationen zum LEFT-Beitritt finden Sie hier: klicken Sie hier .
Was ist die RIGHT JOIN-Klausel?
Die Right-Join-Klausel verbindet zwei oder mehr Tabellen und gibt alle Zeilen aus der rechten Tabelle und nur die Ergebnisse aus der anderen Tabelle zurück, die die angegebene Join-Bedingung erfüllt. Wenn in der linken Seitentabelle nicht übereinstimmende Datensätze gefunden werden, wird ein Nullwert zurückgegeben. Es ist auch bekannt als Rechte äußere Verbindung . Outer ist also die optionale Klausel, die mit Right Join verwendet werden kann.
Wir können es wie folgt verstehen visuelle Darstellung .
Um weitere Informationen zu RIGHT JOIN zu lesen, klicken Sie hier.
Syntax der LEFT JOIN-Klausel
Das Folgende ist die allgemeine Syntax von LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Das Folgende ist die allgemeine Syntax von LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Syntax der RIGHT JOIN-Klausel
Das Folgende ist die allgemeine Syntax von RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Das Folgende ist die allgemeine Syntax von RIGHT OUTER JOIN:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LINKER JOIN vs. RECHTER JOIN
In der folgenden Vergleichstabelle werden die wichtigsten Unterschiede kurz erläutert:
LINKS BEITRETEN | RICHTIG BEITRETEN |
---|---|
Es verbindet zwei oder mehr Tabellen, gibt alle Datensätze aus der linken Tabelle und passende Zeilen aus der rechten Tabelle zurück. | Es wird verwendet, um zwei oder mehr Tabellen zu verbinden, und gibt alle Datensätze aus der rechten Tabelle und passende Zeilen aus der linken Tabelle zurück. |
Die Ergebnismenge enthält einen Nullwert, wenn in der rechten Tabelle keine passende Zeile vorhanden ist. | Die Ergebnismenge enthält einen Nullwert, wenn in der linken Seitentabelle keine passende Zeile vorhanden ist. |
Es wird auch als LEFT OUTER JOIN bezeichnet. | Es wird auch als RIGHT OUTER JOIN bezeichnet. |
Beispiel
Lassen Sie uns die Unterschiede zwischen beiden Verknüpfungen anhand von Beispielen verstehen. Angenommen, wir haben eine Tabelle mit dem Namen ' Kunde ' Und ' Aufträge ', das folgende Daten enthält:
Tabelle: Kunde
Tabelle: Bestellungen
LEFT JOIN-Beispiel
Die folgende SQL-Anweisung gibt die übereinstimmenden Datensätze aus beiden Tabellen mithilfe der LEFT JOIN-Abfrage zurück:
SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>
Nach erfolgreicher Ausführung der Abfrage erhalten wir die Ausgabe wie folgt:
'2020-04-30';>