MySQL har huvudsakligen två typer av joins som heter LEFT JOIN och RIGHT JOIN. Den största skillnaden mellan dessa sammanfogningar är inkludering av icke-matchade rader . LEFT JOIN inkluderar alla poster från vänster sida och matchade rader från höger tabell, medan RIGHT JOIN returnerar alla rader från höger sida och omatchade rader från vänster tabell. I det här avsnittet ska vi lära oss de populära skillnaderna mellan LEFT och RIGHT gå med. Innan vi utforskar jämförelsen, låt oss först förstå JOIN, LEFT JOIN och RIGHT JOIN-satsen i MySQL .
Vad är JOIN-klausul?
A Ansluta sig används för att fråga data från flera tabeller och returnerar det kombinerade resultatet från två eller flera tabeller genom ett villkor. Villkoret i join-satsen anger hur kolumner matchas mellan de angivna tabellerna.
Vad är LEFT JOIN-klausulen?
Left Join-satsen sammanfogar två eller flera tabeller och returnerar alla rader från den vänstra tabellen och matchade poster från den högra tabellen eller returnerar null om den inte hittar någon matchande post. Det är också känt som Vänster yttre fog . Så, Outer är det valfria nyckelordet att använda med Left Join.
Vi kan förstå det med följande visuella representation:
För att läsa mer information om LEFT join, Klicka här .
Vad är RIGHT JOIN-klausulen?
Klausulen Right Join sammanfogar två eller flera tabeller och returnerar alla rader från den högra tabellen, och endast de resultat från den andra tabellen som uppfyllde det angivna joinvillkoret. Om den hittar omatchade poster från den vänstra sidotabellen, returnerar den Null-värdet. Det är också känt som Höger yttre fog . Så, Outer är den valfria klausulen att använda med Right Join.
Vi kan förstå det med följande visuell representation .
För att läsa mer information om RIGHT JOIN, klicka här .
Syntax för LEFT JOIN-klausul
Följande är den allmänna syntaxen för LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Följande är den allmänna syntaxen för LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Syntax för RIGHT JOIN-klausul
Följande är den allmänna syntaxen för RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Följande är den allmänna syntaxen för 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
Följande jämförelsetabell förklarar deras huvudsakliga skillnader på ett snabbt sätt:
VÄNSTER GÅ MED | RÄTT GÅ MED |
---|---|
Den sammanfogar två eller flera tabeller, returnerar alla poster från den vänstra tabellen och matchande rader från den högra tabellen. | Den används för att sammanfoga två eller flera tabeller, returnerar alla poster från den högra tabellen och matchande rader från den vänstra tabellen. |
Resultatuppsättningen kommer att innehålla nollvärde om det inte finns någon matchande rad på den högra sidotabellen. | Resultatuppsättningen kommer att innehålla nollvärde om det inte finns någon matchande rad på den vänstra sidotabellen. |
Det är också känt som LEFT OUTER JOIN. | Det kallas också RIGHT OUTER JOIN. |
Exempel
Låt oss förstå skillnaderna mellan båda kopplingarna genom exempel. Anta att vi har en tabell som heter ' kund ' och ' order ' som innehåller följande data:
Tabell: kund
Tabell: beställningar
LEFT JOIN Exempel
Följande SQL-sats returnerar de matchande posterna från båda tabellerna med LEFT JOIN-frågan:
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';>
Efter framgångsrik exekvering av frågan kommer vi att få utdata enligt följande:
'2020-04-30';>