MySQL kent hoofdzakelijk twee soorten joins, LEFT JOIN en RIGHT JOIN genaamd. Het belangrijkste verschil tussen deze joins is de inclusie van niet-gematchte rijen. De LEFT JOIN bevat alle records van de linkerkant en gematchte rijen van de rechtertabel, terwijl de RIGHT JOIN alle rijen van de rechterkant en niet-gematchte rijen van de linkertabel weergeeft. In deze sectie gaan we de populaire verschillen tussen LEFT en RIGHT join leren kennen. Voordat we de vergelijking verkennen, laten we eerst JOIN, LEFT JOIN, en RIGHT JOIN clausule in MySQL begrijpen.
Wat is JOIN Clause?
Een join wordt gebruikt om gegevens uit meerdere tabellen op te vragen en geeft het gecombineerde resultaat van twee of meer tabellen door middel van een voorwaarde. De voorwaarde in de join-clausule geeft aan hoe kolommen worden gematcht tussen de opgegeven tabellen.
Wat is de LEFT JOIN-clausule?
De Left Join-clausule voegt twee of meer tabellen samen en retourneert alle rijen uit de linkertabel en gematchte records uit de rechtertabel of retourneert null als er geen overeenkomende record wordt gevonden. Het is ook bekend als Left Outer Join. Outer is dus het optionele sleutelwoord om te gebruiken bij Left Join.
We kunnen het begrijpen met de volgende visuele voorstelling:
Klik hier om meer informatie te lezen over de LEFT join.
Wat is de RIGHT JOIN-clausule?
De Right Join-clausule voegt twee of meer tabellen samen en retourneert alle rijen uit de rechtertabel en alleen de resultaten uit de andere tabel die aan de opgegeven join-conditie voldoen. Als het niet-overeenkomende records uit de linkertabel vindt, retourneert het een nulwaarde. Het is ook bekend als Right Outer Join. Outer is dus de optionele clausule om te gebruiken bij Right Join.
We kunnen het begrijpen aan de hand van de volgende visuele weergave.
Klik hier voor meer informatie over RIGHT JOIN.
Syntaxis van LEFT JOIN-clausule
Het volgende is de algemene syntaxis van LEFT JOIN:
Het volgende is de algemene syntaxis van LEFT OUTER JOIN:
Syntaxis van RIGHT JOIN-clausule
Het volgende is de algemene syntaxis van RIGHT JOIN:
Het volgende is de algemene syntaxis van RIGHT OUTER JOIN:
LEFT JOIN vs. RIGHT JOIN
In de volgende vergelijkingstabel worden de belangrijkste verschillen snel uitgelegd:
LEFT JOIN | RIGHT JOIN |
---|---|
Het voegt twee of meer tabellen samen, retourneert alle records uit de linkertabel, en overeenkomende rijen uit de rechtertabel. | Het wordt gebruikt om twee of meer tabellen samen te voegen, retourneert alle records uit de rechtertabel, en overeenkomende rijen uit de linkertabel. |
De resultaat-verzameling zal null waarde bevatten als er geen overeenkomende rij in de rechter tabel is. | De resultaat-verzameling zal null waarde bevatten als er geen overeenkomende rij in de linker tabel is. |
Het is ook bekend als LEFT OUTER JOIN. | Het is ook bekend als RIGHT OUTER JOIN. |
Example
Laten we begrijpen de verschillen tussen beide joins door middel van voorbeelden. Stel dat we een tabel hebben met de naam “klant” en “bestellingen” die de volgende gegevens bevat:
Tabel: klant
Tabel: bestellingen
LEFT JOIN Voorbeeld
Het volgende SQL-instructie retourneert de overeenkomende records uit beide tabellen met behulp van de LEFT JOIN-query:
Na succesvolle uitvoering van de query krijgen we de volgende uitvoer:
Rrechtse JOIN Voorbeeld
De volgende SQL-instructie retourneert de overeenkomende records uit beide tabellen met behulp van de RECHTS JOIN-query:
Na succesvolle uitvoering van de query, krijgen we de volgende uitvoer: