logo

Różnica między lewym i prawym złączem

MySQL ma głównie dwa rodzaje złączeń: LEFT JOIN i RIGHT JOIN. Główną różnicą między tymi połączeniami jest włączenie niedopasowanych wierszy . LEFT JOIN uwzględnia wszystkie rekordy z lewej strony i dopasowane wiersze z prawej tabeli, natomiast RIGHT JOIN zwraca wszystkie wiersze z prawej strony i niedopasowane wiersze z lewej tabeli. W tej sekcji poznamy popularne różnice pomiędzy łączeniem LEWYM i PRAWYM. Zanim przejdziemy do porównania, najpierw zrozumiemy klauzule JOIN, LEFT JOIN i RIGHT JOIN w MySQL'a .

Co to jest klauzula JOIN?

A dołączyć służy do wykonywania zapytań o dane z wielu tabel i zwraca łączny wynik z dwóch lub więcej tabel za pomocą warunku. Warunek w klauzuli Join wskazuje, w jaki sposób kolumny są dopasowywane w określonych tabelach.

Co to jest klauzula LEFT JOIN?

Klauzula Left Join łączy dwie lub więcej tabel i zwraca wszystkie wiersze z lewej tabeli oraz dopasowane rekordy z prawej tabeli lub zwraca wartość null, jeśli nie znajdzie żadnego pasującego rekordu. Znany jest również jako Lewe połączenie zewnętrzne . Zatem Outer jest opcjonalnym słowem kluczowym używanym z Left Join.

Możemy to zrozumieć za pomocą następującej reprezentacji wizualnej:

Łączenie lewe kontra łączenie prawe

Aby przeczytać więcej informacji na temat złączenia LEWEGO, Kliknij tutaj .

Jaka jest PRAWIDŁOWA klauzula JOIN?

Klauzula Right Join łączy dwie lub więcej tabel i zwraca wszystkie wiersze z tabeli po prawej stronie oraz tylko te wyniki z drugiej tabeli, które spełniły określony warunek złączenia. Jeśli znajdzie niedopasowane rekordy w tabeli po lewej stronie, zwróci wartość Null. Znany jest również jako Prawe połączenie zewnętrzne . Zatem Outer jest opcjonalną klauzulą, której można używać z Right Join.

Możemy to zrozumieć w następujący sposób reprezentacja wizualna .

Łączenie lewe kontra łączenie prawe

Aby przeczytać więcej informacji na temat RIGHT JOIN, kliknij tutaj.

Składnia klauzuli LEFT JOIN

Poniżej znajduje się ogólna składnia LEFT JOIN:

 SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Poniżej znajduje się ogólna składnia LEFT OUTER JOIN:

 SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Składnia klauzuli RIGHT JOIN

Poniżej znajduje się ogólna składnia RIGHT JOIN:

 SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Poniżej znajduje się ogólna składnia RIGHT OUTER JOIN:

 SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

LEWE DOŁĄCZENIE kontra PRAWE DOŁĄCZENIE

Poniższa tabela porównawcza wyjaśnia w szybki sposób główne różnice między nimi:

LEWO DOŁĄCZ PRAWO DOŁĄCZ
Łączy dwie lub więcej tabel, zwraca wszystkie rekordy z lewej tabeli i pasujące wiersze z prawej tabeli. Służy do łączenia dwóch lub więcej tabel, zwraca wszystkie rekordy z prawej tabeli i pasujące wiersze z lewej tabeli.
Zestaw wyników będzie zawierał wartość null, jeśli w tabeli po prawej stronie nie ma pasującego wiersza. Zestaw wyników będzie zawierał wartość null, jeśli w tabeli po lewej stronie nie ma pasującego wiersza.
Nazywa się to również LEWYM ŁĄCZENIEM ZEWNĘTRZNYM. Nazywa się to również PRAWYM ŁĄCZENIEM ZEWNĘTRZNYM.

Przykład

Przyjrzyjmy się różnicom pomiędzy obydwoma łączeniami na przykładach. Załóżmy, że mamy tabelę o nazwie „ klient ' I ' Zamówienia ', który zawiera następujące dane:

Tabela: klient

Łączenie lewe kontra łączenie prawe

Tabela: zamówienia

Łączenie lewe kontra łączenie prawe

LEWY DOŁĄCZ Przykład

Następująca instrukcja SQL zwraca pasujące rekordy z obu tabel za pomocą zapytania LEFT JOIN:

 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';>

Po pomyślnym wykonaniu zapytania otrzymamy następujący wynik:

Lewe łączenie kontra prawe łączenie