logo

Rozdiel medzi ľavým spojením a pravým spojením

MySQL má hlavne dva druhy spojení s názvom LEFT JOIN a RIGHT JOIN. Hlavným rozdielom medzi týmito spojeniami je zahrnutie nezhodných riadkov . LEFT JOIN obsahuje všetky záznamy z ľavej strany a zhodné riadky z pravej tabuľky, zatiaľ čo RIGHT JOIN vráti všetky riadky z pravej strany a nezhodné riadky z ľavej tabuľky. V tejto časti sa dozvieme o populárnych rozdieloch medzi LEFT a RIGHT pripojením. Pred skúmaním porovnania najprv pochopme klauzuly JOIN, LEFT JOIN a RIGHT JOIN v MySQL .

Čo je to klauzula JOIN?

A pripojiť sa sa používa na dopytovanie údajov z viacerých tabuliek a vracia kombinovaný výsledok z dvoch alebo viacerých tabuliek prostredníctvom podmienky. Podmienka v klauzule spojenia označuje, ako sa stĺpce spájajú medzi špecifikovanými tabuľkami.

Čo je to klauzula LEFT JOIN?

Klauzula Left Join spája dve alebo viac tabuliek a vráti všetky riadky z ľavej tabuľky a zodpovedajúce záznamy z pravej tabuľky alebo vráti hodnotu null, ak nenájde žiadny zodpovedajúci záznam. Je tiež známy ako Ľavý vonkajší spoj . Vonkajšie je teda voliteľné kľúčové slovo na použitie s ľavým spojením.

Môžeme to pochopiť pomocou nasledujúceho vizuálneho znázornenia:

Pripojenie vľavo vs pripojenie vpravo

Ak si chcete prečítať viac informácií o LEFT pripojení, kliknite tu .

Čo je to RIGHT JOIN Klauzula?

Klauzula Right Join spája dve alebo viac tabuliek a vracia všetky riadky z pravej tabuľky a iba tie výsledky z druhej tabuľky, ktoré splnili zadanú podmienku spojenia. Ak nájde nezhodné záznamy z ľavej tabuľky, vráti hodnotu Null. Je tiež známy ako Pravé vonkajšie spojenie . Vonkajšia je teda voliteľná klauzula, ktorá sa má použiť s Right Join.

Môžeme to pochopiť nasledujúcim spôsobom vizuálna reprezentácia .

Pripojenie vľavo vs pripojenie vpravo

Ak si chcete prečítať viac informácií o RIGHT JOIN, kliknite sem .

Syntax klauzuly LEFT JOIN

Nasleduje všeobecná syntax LEFT JOIN:

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

Nasleduje všeobecná syntax LEFT OUTER JOIN:

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

Syntax klauzuly RIGHT JOIN

Nasleduje všeobecná syntax RIGHT JOIN:

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

Nasleduje všeobecná syntax RIGHT OUTER JOIN:

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

LEFT JOIN vs. RIGHT JOIN

Nasledujúca porovnávacia tabuľka rýchlo vysvetľuje ich hlavné rozdiely:

ĽAVÉ PRIPOJENIE SPRÁVNE PRIPOJTE SA
Spája dve alebo viac tabuliek, vracia všetky záznamy z ľavej tabuľky a zodpovedajúce riadky z pravej tabuľky. Používa sa na spojenie dvoch alebo viacerých tabuliek, vráti všetky záznamy z pravej tabuľky a zodpovedajúce riadky z ľavej tabuľky.
Ak sa v tabuľke na pravej strane nenachádza žiadny zodpovedajúci riadok, sada výsledkov bude obsahovať nulovú hodnotu. Ak sa v tabuľke na ľavej strane nenachádza žiadny zodpovedajúci riadok, sada výsledkov bude obsahovať nulovú hodnotu.
Je tiež známy ako LEFT OUTER JOIN. Nazýva sa aj ako RIGHT OUTER JOIN.

Príklad

Poďme pochopiť rozdiely medzi oboma spojeniami prostredníctvom príkladov. Predpokladajme, že máme tabuľku s názvom ' zákazníka ' a ' objednávky “, ktorý obsahuje nasledujúce údaje:

Tabuľka: zákazník

Pripojenie vľavo vs pripojenie vpravo

Tabuľka: objednávky

Pripojenie vľavo vs pripojenie vpravo

LEFT JOIN Príklad

Nasledujúci príkaz SQL vráti zodpovedajúce záznamy z oboch tabuliek pomocou dotazu 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 úspešnom vykonaní dotazu dostaneme výstup nasledovne:

Pripojenie vľavo vs pripojenie vpravo