MySQL har huvudsakligen två typer av jointer som heter LEFT JOIN och RIGHT JOIN. Den huvudsakliga skillnaden mellan dessa joins är inkluderandet av icke matchade rader. LEFT JOIN inkluderar alla poster från den vänstra sidan och matchade rader från den högra tabellen, medan RIGHT JOIN returnerar alla rader från den högra sidan och icke matchade rader från den vänstra tabellen. I det här avsnittet kommer vi att lära känna de populära skillnaderna mellan LEFT och RIGHT join. Innan vi utforskar jämförelsen ska vi först förstå klausulerna JOIN, LEFT JOIN och RIGHT JOIN i MySQL.
Vad är JOIN-klausulen?
En join används för att fråga efter data från flera tabeller och returnerar det kombinerade resultatet från två eller flera tabeller genom ett villkor. Villkoret i join-klausulen anger hur kolumnerna matchas mellan de angivna tabellerna.
Vad är LEFT JOIN-klausulen?
Left Join-klausulen förenar 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 noll om den inte hittar någon matchande post. Den är också känd som Left Outer Join. Outer är alltså 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?
Den rätta join-klausulen förenar 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 oöverensstämmande poster från den vänstra tabellen returnerar den nollvärdet. Det är också känt som Right Outer Join. Outer är alltså den valfria klausulen att använda med Right Join.
Vi kan förstå det med följande visuella representation.
För att läsa mer information om RIGHT JOIN, klicka här.
Syntax för LEFT JOIN-klausulen
Följande är den allmänna syntaxen för LEFT JOIN:
Följande är den allmänna syntaxen för LEFT OUTER JOIN:
Syntax för RIGHT JOIN Klausul
Följande är den allmänna syntaxen för RIGHT JOIN:
Följande är den allmänna syntaxen för RIGHT OUTER JOIN:
LEFT JOIN vs. RIGHT JOIN
Följande jämförelsetabell förklarar deras huvudsakliga skillnader på ett snabbt sätt:
LEFT JOIN | RIGHT JOIN |
---|---|
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. |
Resultatet kommer att innehålla ett nollvärde om det inte finns någon matchande rad i den högra tabellen. | Resultatet kommer att innehålla ett nollvärde om det inte finns någon matchande rad i den vänstra tabellen. |
Det kallas också LEFT OUTER JOIN. | Det kallas också RIGHT OUTER JOIN. |
Exempel
Låt oss förstå skillnaderna mellan de två sammanfogningarna genom exempel. Anta att vi har en tabell som heter ”customer” och ”orders” som innehåller följande data:
Tabell: customer
Tabell: orders
LEFT JOIN Exempel
Följande SQL-angivelse returnerar matchande poster från båda tabellerna med hjälp av LEFT JOIN-förfrågan:
När frågan har utförts får vi följande resultat:
RIGHT JOIN Example
Följande SQL-angivelse returnerar de matchande posterna från båda tabellerna med hjälp av RIGHT JOIN-frågan:
Följande SQL-angivelse returnerar de matchande posterna från båda tabellerna med hjälp av RIGHT JOIN-frågan:
När frågan har utförts får vi följande utdata: