Logo nl.removalsclassifieds.com

Verschil tussen links en rechts join (met tabel)

Inhoudsopgave:

Anonim

Join is een typische naam en commando-element dat van tijd tot tijd zal verschijnen tijdens het omgaan met SQL. De join-clausule vergemakkelijkt het combineren van records uit verschillende tabellen bij het verzamelen van gegevens. De join genereert een tabel die alleen of in combinatie met elkaar kan worden gebruikt. Het wordt dus aanbevolen om deze joins en het onderscheid ertussen te begrijpen om de specifieke join te bepalen en om in unieke gevallen te bepalen of rechts of links moet worden gekozen.

Linker join vs rechter join

Het verschil tussen left join en right join is dat het opnemen van niet-overeenkomende items het belangrijkste onderscheid is tussen beide typen joins. LEFT JOIN verwerkt alle invoer van de linkerkant en gepaarde rijen van de rechtertabel, terwijl RIGHT JOIN alle rijen van de rechterkant levert, evenals niet-overeenkomende rijen van het linkerpaneel.

Ook al is er geen overeenkomst aan de rechterkant van de tabel, het SQL LEFT-proces dat alle invoer uit de linkertabel binnenkomt. Dit houdt in dat wanneer de ON-component 0 (nul) items aan de rechterkant van de tabel bevat, de join nog steeds een record met NULL retourneert in elk veld van de hoofdtabel. Dit houdt in dat een left join eerst alle gegevens uit de linkertabel levert, evenals alle overeenkomende waarden uit de rechtertabel, of NULL als er geen geschikt joinpredikaat bestaat.

De rechter join daarentegen vindt dat zelfs in de linkertabel de SQL RIGHT alle items uit de rechtertabel ontvangt en verzendt. Dit houdt in dat zelfs als de ON-clausule 0 (nul) items in de linkerdatabase bevat, de join nog steeds een rij zou produceren met een NULL-waarde in elk veld van de linkertabel, net als de linker join, maar omgekeerd.

Dit houdt in dat een juiste join alle gegevens uit de juiste tabel levert, evenals alle geaccepteerde waarden uit de tabellen, of NULL als er geen passend join-predikaat bestaat voor deze bewerking.

Vergelijkingstabel tussen links en rechts join

Parameters van vergelijking:

Linker deelname

Rechts meedoen

Gebruik

Het verbindt meerdere tabellen en biedt alle records van de linkertabel en bijpassende rijen vanaf rechts. Het voegt meerdere tabellen samen en levert alle gegevens uit de rechtertabel, evenals overeenkomende rijen als eerste uit de linkertabel.
Query uitvoeren

Tijdens de implementatie van de query, inclusief de linker join, worden eerst alle vermeldingen van de tabellen ontvangen en worden vervolgens de overeenkomende gegevens van de rechtertabelkolomwaarden verkregen met behulp van gestapelde lussen, en wordt de NULL-waarde vervangen door andere niet-overeenkomende gegevens. Tijdens de implementatie van de query inclusief de rechter join, worden eerst alle gegevens van de rechtertabel verkregen en daarna worden de overeenkomende records van de linkertabelkolomwaarden verzameld met behulp van gestapelde lussen.
Resultatenset

De ingestelde resultaatwaarde is NULL of nul als er geen overeenkomende gegevens in de rechtertabel worden gevonden. De ingestelde resultaatwaarde is NULL of nul als er geen overeenkomende gegevens worden gevonden in de linkertabel.
Synoniem term

LINKER BUITENSTE JOIN RECHTS BUITENSTE JOIN
Syntaxis

SELECT column_name(s)FROM table1LEFT JOIN table2ON table1.column_name = table2.column_name; SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

Wat is Left Join?

Om gegevens uit twee databases samen te voegen, afhankelijk van een kolom die overeenkomende waarden bevat, gebruiken we JOIN in SQL. Als u bijvoorbeeld een tabel hebt gehad met klantgegevens (klant-ID, voornaam, identificatiecode, enz.) en vervolgens een andere tabel met bestelgegevens voor een bepaalde tijd (transactie-ID, tijd, klant-ID, product-ID, enz.), kunt u de twee datasets koppelen met behulp van de kolommen die klant-ID-nummers bevatten. Dit geeft u order- en klantinformatie voor elke klant en de Left join-clausule speelt een essentiële rol bij het uitvoeren van deze operatie.

Laten we eens kijken naar de syntaxis van de Left Join om het nut ervan goed te begrijpen:

SELECT kolomnaam(en)

VAN tafel1

LEFT JOIN-tabel2

AAN tabel1.kolomnaam = tabel2.kolomnaam

Om te beginnen onderzoeken de databases elk item in de linkertabel en zoeken vervolgens naar een overeenkomst in de rechtertabel, afhankelijk van de gekoppelde kolommen. Als er een overeenkomst wordt gevonden, worden gegevens uit de rechtertabel toegevoegd aan de overeenkomende rij van de linkertabel. Als er meerdere vondsten zijn die overeenkomen, wordt de kolom in de linkertabel gedupliceerd om alle gegevens rechtstreeks uit de rechtertabel op te nemen. Als er geen overeenkomst wordt gevonden, wordt de rij behouden vanaf de linkertabel en wordt vervolgens NULL in de relevante kolommen van de rechtertabel ingevoegd.

Wat is Right Join?

Om het botweg te zeggen, de rechter join-bewerking lijkt erg op de linker join, alleen het tegenovergestelde. Voor een beter begrip zullen we de syntaxisanalyse doornemen en het algemene gebruik van rechter join en de link naar de linkertabel is in dit geval belangrijk.

De SQL right join levert alle informatie uit de rijen van de juiste tabel. Het bevat ook de bevestigde waarden uit de linkertabel; als er echter geen overeenkomsten worden gevonden in beide databases, levert het een NULL-waarde op. Right joins lijken in wezen erg op left joins, omdat ze alle rijen ophalen uit de tabel die is opgegeven in de RIGHT JOIN-zin, maar alleen de overeenkomstige rijen uit de tabel die is opgegeven in de FROM-component.

De RIGHT JOIN wordt niet vaak gebruikt omdat de inhoud van een RIGHT JOIN kan worden verkregen door simpelweg de labels van de twee verbonden tabellen in een LEFT JOIN om te wisselen.

De traditie om altijd LEFT JOIN te gebruiken, ontstaat waarschijnlijk om zoekopdrachten gemakkelijker te begrijpen en te verifiëren, hoewel er geen dwingende reden is om het gebruik van RIGHT JOIN te vermijden. Het is vermeldenswaard dat LEFT JOIN en RIGHT JOIN ook kunnen worden uitgedrukt als LEFT OUTER JOIN en RIGHT OUTER JOIN.

De syntaxis voor Right Join wordt hieronder verder beschreven. De bewerkingen van de rechter en linker joins zijn identiek, maar in omgekeerde volgorde:

SELECT column_name(s)FROM table1RIGHT JOIN table2ON table1.column_name = table2.column_name

Belangrijkste verschillen tussen Left Join en Right Join

Gevolgtrekking

Bij interactie met deze verschillende joins is het essentieel om te weten dat in een left outer join alle kolommen aan de linkerkant van de tabel zichtbaar zijn in de database. De resultaten verschijnen ongeacht of overeenkomende kolommen beschikbaar zijn in de juiste tabel. Het maakt niet uit of je de linker of rechter outer join gebruikt, want de gevolgen zijn hetzelfde. De procesinformatie van een right outside join is dezelfde als die van een left outer join.

Referenties

Verschil tussen links en rechts join (met tabel)