MySQL ima predvsem dve vrsti združevanj, imenovanih LEFT JOIN in RIGHT JOIN. Glavna razlika med temi združitvami je vključitev neujemajočih se vrstic . LEFT JOIN vključuje vse zapise z leve strani in ujemajoče se vrstice iz desne tabele, medtem ko RIGHT JOIN vrne vse vrstice z desne strani in neujemajoče se vrstice iz leve tabele. V tem razdelku bomo spoznali priljubljene razlike med LEVIMI in DESNIMI spoji. Preden raziščemo primerjavo, najprej razumemo klavzulo JOIN, LEFT JOIN in RIGHT JOIN MySQL .
Kaj je klavzula JOIN?
A pridruži se se uporablja za poizvedovanje podatkov iz več tabel in prek pogoja vrne združen rezultat iz dveh ali več tabel. Pogoj v členu združevanja nakazuje, kako se stolpci ujemajo med podanimi tabelami.
Kaj je klavzula LEFT JOIN?
Klavzula Left Join združi dve ali več tabel in vrne vse vrstice iz leve tabele in ujemajoče se zapise iz desne tabele ali vrne ničelno vrednost, če ne najde nobenega ujemajočega se zapisa. Znan je tudi kot Levi zunanji spoj . Outer je torej neobvezna ključna beseda za uporabo z Left Join.
Razumemo ga lahko z naslednjo vizualno predstavitvijo:
Če želite prebrati več informacij o pridružitvi LEFT, Klikni tukaj .
Kaj je klavzula RIGHT JOIN?
Klavzula Right Join združi dve ali več tabel in vrne vse vrstice iz desne tabele in samo tiste rezultate iz druge tabele, ki so izpolnili podani pogoj združevanja. Če najde neujemajoče se zapise v levi stranski tabeli, vrne ničelno vrednost. Znan je tudi kot Desni zunanji spoj . Outer je torej neobvezna klavzula za uporabo z Right Join.
Razumemo ga lahko z naslednjim vizualna predstavitev .
Če želite prebrati več informacij o RIGHT JOIN, kliknite tukaj.
Sintaksa stavka LEFT JOIN
To je splošna sintaksa LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Sledi splošna sintaksa LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Sintaksa člena RIGHT JOIN
Sledi splošna sintaksa RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Sledi splošna sintaksa RIGHT OUTER JOIN:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LEVO ZDRUŽENJE proti DESNO ZDRUŽENJE
Naslednja primerjalna tabela na hiter način razloži njihove glavne razlike:
LEVO PRIDRUŽI SE | PRAV PRIDRUŽI SE |
---|---|
Združi dve ali več tabel, vrne vse zapise iz leve tabele in ujemajoče se vrstice iz desne tabele. | Uporablja se za združevanje dveh ali več tabel, vrne vse zapise iz desne tabele in ujemajoče se vrstice iz leve tabele. |
Nabor rezultatov bo vseboval ničelno vrednost, če na desni strani tabele ni ustrezne vrstice. | Nabor rezultatov bo vseboval ničelno vrednost, če na levi strani tabele ni ustrezne vrstice. |
Znan je tudi kot LEFT OUTER JOIN. | Imenuje se tudi kot RIGHT OUTER JOIN. |
Primer
S pomočjo primerov bomo razumeli razlike med obema združitvama. Recimo, da imamo tabelo z imenom ' stranka ' in ' naročila ', ki vsebuje naslednje podatke:
Tabela: stranka
Tabela: naročila
Primer LEFT JOIN
Naslednji stavek SQL vrne ujemajoče se zapise iz obeh tabel z uporabo poizvedbe 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 uspešni izvedbi poizvedbe bomo dobili izhod, kot sledi:
'2020-04-30';>