MySQL heeft hoofdzakelijk twee soorten joins genaamd LEFT JOIN en RIGHT JOIN. Het belangrijkste verschil tussen deze joins is de opname van niet-overeenkomende rijen . De LEFT JOIN omvat alle records van de linkerkant en overeenkomende rijen uit de rechtertabel, terwijl RIGHT JOIN alle rijen van de rechterkant en niet-overeenkomende rijen uit de linkertabel retourneert. In deze sectie gaan we de populaire verschillen tussen LINKS- en RECHTS-deelname kennen. Voordat we de vergelijking verkennen, moeten we eerst de JOIN-, LEFT JOIN- en RIGHT JOIN-clausule begrijpen MySQL .
Wat is de JOIN-clausule?
A meedoen wordt gebruikt om gegevens uit meerdere tabellen op te vragen en retourneert het gecombineerde resultaat van twee of meer tabellen via een voorwaarde. De voorwaarde in de join-clausule geeft aan hoe kolommen tussen de opgegeven tabellen overeenkomen.
Wat is de LEFT JOIN-clausule?
De Left Join-clausule verbindt twee of meer tabellen en retourneert alle rijen uit de linkertabel en overeenkomende records uit de rechtertabel, of retourneert nul als er geen overeenkomende record wordt gevonden. Het is ook bekend als Linker buitenste verbinding . Outer is dus het optionele trefwoord dat u met Left Join kunt gebruiken.
We kunnen het begrijpen met de volgende visuele weergave:
Voor meer informatie over de LEFT-join, Klik hier .
Wat is de RIGHT JOIN-clausule?
De Right Join-clausule verbindt twee of meer tabellen en retourneert alle rijen uit de rechtertabel, en alleen de resultaten uit de andere tabel die aan de opgegeven join-voorwaarde voldeden. Als er ongeƫvenaarde records uit de tabel aan de linkerkant worden gevonden, wordt de waarde Null geretourneerd. Het is ook bekend als Rechter buitenste verbinding . Outer is dus de optionele clausule die u met Right Join kunt gebruiken.
We kunnen het begrijpen met het volgende visuele representatie .
Klik hier voor meer informatie over RIGHT JOIN.
Syntaxis van LEFT JOIN-clausule
Het volgende is de algemene syntaxis van LEFT JOIN:
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Het volgende is de algemene syntaxis van LEFT OUTER JOIN:
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Syntaxis van RIGHT JOIN-clausule
Het volgende is de algemene syntaxis van RIGHT JOIN:
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
Het volgende is de algemene syntaxis van RIGHT OUTER JOIN:
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
LINKS JOIN versus RECHTS JOIN
In de volgende vergelijkingstabel worden de belangrijkste verschillen op een snelle manier uitgelegd:
LINKS AANMELDEN | RECHTS MOETEN |
---|---|
Het verbindt twee of meer tabellen, 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 resultatenset bevat een nulwaarde als er geen overeenkomende rij in de rechterzijtabel staat. | De resultatenset bevat een nulwaarde als er geen overeenkomende rij in de linkertabel staat. |
Het wordt ook wel LEFT OUTER JOIN genoemd. | Het wordt ook wel RIGHT OUTER JOIN genoemd. |
Voorbeeld
Laten we de verschillen tussen beide joins begrijpen aan de hand van voorbeelden. Stel dat we een tabel hebben met de naam ' klant ' En ' bestellingen ' dat de volgende gegevens bevat:
Tabel: klant
Tabel: bestellingen
LINKS JOIN Voorbeeld
De volgende SQL-instructie retourneert de overeenkomende records uit beide tabellen met behulp van de LEFT JOIN-query:
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';>
Na succesvolle uitvoering van de query krijgen we de uitvoer als volgt:
'2020-04-30';>