Forskellen mellem Left Join og Left Outer Join i SQL - Alle forskelle

 Forskellen mellem Left Join og Left Outer Join i SQL - Alle forskelle

Mary Davis

En database består af en organiseret samling af struktureret information, der normalt er gemt elektronisk i et computersystem. Flere forskellige databaser, såsom SQL Server, Oracle, PostgreSQL og MySQL, bruger typisk et sprog til at administrere data .

Et sådant sprog er kendt som SQL. SQL har forskellige Joins-kommandoer i form af Inner Join, Left Join og Right Join.

Som du måske ved, et Join i SQL bruges til at samle rækker fra to eller flere tabeller fra den relaterede kolonne Dette kan give anledning til at spørge, hvad andre varianter gør.

Det er sikkert lidt forvirrende! Men bare rolig, jeg vil give dig en detaljeret redegørelse for, hvad de er og betyder, og forhåbentlig vil det hjælpe dig til at forstå det bedre.

Lad os komme i gang!

Hvad er SQL?

SQL står for Structured Query Language (struktureret forespørgselssprog). Det er et sprog, der anvendes af forskellige databaser til at skrive og spørge om data. Det gør det muligt at administrere oplysninger ved hjælp af tabeller og viser et sprog til at spørge om disse tabeller og andre relaterede objekter, såsom visninger, funktioner, procedurer osv.

Donald Chamberlin og Raymond Boyce er de designere af SQL, som de lavede til at manipulere data. Deres model var baseret på Edgar Frank Codd, som arbejdede for IBM og opfandt den relationelle database i 70'erne.

Oprindeligt hed det SEQUEL, men det blev forkortet til SQL på grund af specifikke varemærkeproblemer. Du kan dog stadig kalde dem SEQUEL, hvis du vil.

Med SQL kan du indsætte, slette og opdatere data og oprette, slette eller ændre andre databaseobjekter. Standard SQL-kommandoerne er " Vælg", "slet", "indsæt", "opdater", "opret" og "drop" Disse kan udføre alt, hvad man skal gøre i en database.

Desuden bruges dette sprog i flere databaser til at hjælpe med at håndtere data og databaseobjekter. Hvis det lyder kompliceret for dig, her er en video, der forklarer, hvad SQL er for begyndere:

Kan en database køre uden et sprog?

Se også: Hvad er forskellen på en hjerteformet numse og en rund formet numse (forklaret fakta) - Alle forskelle

Hvorfor bruger vi SQL?

Det er ret enkelt. Vi vil ikke forstå databaser uden SQL. På samme måde kan vi ikke instruere databasen uden den, fordi SQL er et system, der bruges til at kommunikere med en database.

SQL systemer udfører opgaver som f.eks. sletning, tilføjelse eller ændring af data. Dette system anvendes almindeligvis til at lave det er lettere at håndtere store mængder af data ved at forvalte dem effektivt. Nogle få standard relationelle databaseadministrationssystemer, der bruger SQL, omfatter Oracle, Sybase, Microsoft Access og Ingres.

Hvad er Inner Join og Outer Join?

Lad os først og fremmest forstå, hvad en sammenføjning er. I SQL bruges joins til at kombinere indholdet af forskellige tabeller. Du kan kombinere dataene på mange måder ved at angive, hvordan du ønsker dataene integreret, og hvilken type Join du ønsker at bruge.

Et Inner Join er et join, der returnerer alle rækker fra begge de deltagende tabeller, hvor den væsentlige record i en tabel er den samme som den kritiske poster i en anden tabel.

Denne form for Join krævede en sammenligningsoperator for at matche rækker fra de deltagende tabeller, der understøttede et standardfelt eller en standardkolonne i begge tabeller.

Outer Join kan returnere ikke-overensstemmende rækker i en eller begge tabeller Den returnerer grundlæggende alle rækker fra alle de tabeller, der opfylder betingelserne.

Der findes mange forskellige typer af Outer Joins. Disse omfatter Left Join, Right Join og Full Outer Join.

Her er en tabel med en oversigt over de vigtigste funktioner i de tilgængelige joins i SQL:

Typer af sammenføjninger: Funktion :
Indre samling Dette returnerer rækker, når der er mindst ét match i begge tabeller.
Venstre yderste led Dette returnerer alle rækker fra den venstre tabel sammen med de matchende rækker fra den højre tabel.
Højre ydre samling Dette returnerer alle rækker fra den højre tabel sammen med de matchende rækker fra den venstre tabel.
Fuldt udvendigt led Dette kombinerer left outer Join og right outer Join. Returnerer rækker fra begge tabeller, når betingelserne er opfyldt.

Dette viser forskellene mellem fire Joins i SQL.

Forskellen mellem indre og ydre sammenføjning

Og der er mere. Den væsentlige forskel mellem de indre og ydre samlinger er, at indre sammenføjninger resulterer normalt i et skæringspunkt mellem to tabeller. I modsætning hertil, Outer Joins resulterer i en sammenblanding af to tabeller.

Så i bund og grund, Indre samling resulterer i den overlappende del af to datasæt, som vist på billedet nedenfor. Du vil kun kombinere de standardrækker i begge tabeller for Inner Joins. På den anden side returnerer Outer Joins alle poster med værdier i enten venstre eller passende tabeller.

Outer joins omfatter de matchende rækker og de ikke-matchende rækker fra tabellerne. Desuden kan en Udvendig sammenføjning adskiller sig fra en indre sammenføjning ved at forvaltning af betingelsen om falsk match.

Left Outer Join består af Left Outer Join + Inner Join, mens Right Outer Join også består af består af Right Outer Join + Inner Join. Full Outer Join består af af dem alle.

Left Join (er det det samme som Left Outer Join i SQL?)

Måske har du også hørt om Left Join i SQL, men det er det samme som Left Outer Join. De har to forskellige navne for den samme funktion.

Et Left Join er det samme som et Left outer Join i SQL, og de er ét. Left Join er bare en forkortelse for Left outer Join. Ordet "outer" gør det bare mere overskueligt, hvad operationen er, men begge nøgler udfører de samme funktioner.

Hvorfor kaldes Left Join for Left Outer Join?

Du har mulighed for at kalde den ved det udvidede navn eller ved genvejen. Desuden er det jo bare det samme.

Husk, at Denne sammenføjning returnerer alle rækker i tabellen på venstre side og de matchende rækker på højre side af sammenføjningen. Hvis der ikke er nogen matchende sider på højre side, er resultatet nul.

Så hvis vi skulle sammenføje to tabeller, A og B, ville SQL Left Outer Join returnere alle rækker i den venstre tabel, som er A, og alle de rækker, der matcher i den anden tabel B på højre side. Kort sagt består resultatet af SQL Left Join altid af rækkerne fra tabellen i venstre side.

Forskellen mellem Join og Left Join

I det grundlæggende kaldes Join også for et Inner Join, mens Left Join er et Outer Join.

Men den største forskel er, at en left join-angivelse sandsynligvis vil omfatte og kombinere alle rækker i den tabel, der henvises til på venstre side af oplysningerne. I stedet for kun de uoverensstemmende rækker består den af alle rækker fra den venstre tabel og matchende rækker fra de andre tabeller.

Hvornår skal man bruge Left Outer Join i SQL?

Lad os antage, at du leder efter en måde at kombinere forskellige tabeller på. Hvis du føjer to tabeller sammen og kun ønsker, at resultatsættet skal indeholde de rækker i den ene tabel, der ikke passer sammen, skal du bruge en venstre ydre føjningsklausul eller en korrekt ydre føjningsklausul. Ved at bruge venstre ydre føjning består de rækker, der ikke passer sammen, af de rækker, der ikke passer sammen fra den tabel, der er angivet før den venstre ydre føjningsklausul.

Teknisk set identificerer venstre ydre sammenføjning alle de rækker fra begge tabeller, der opfylder sammenføjningsbetingelsen, og ikke-matchede rækker fra tabellen.

Øger Left Outer Join antallet af rækker?

Dette er et ofte stillet spørgsmål. Teknisk set er det et ja.

Men Left Join kan kun øger antallet af rækker i den venstre tabel. Og dette er kun, når der er flere match i den højre tabel. Desuden kan du bruge mange Left Joins i en forespørgsel, hvis det er nødvendigt for din analyse.

Left Outer Join vs. Right Outer Join

Den væsentlige forskel mellem Left Outer Join og Right Outer Join er kombinere rækker, der ikke passer sammen.

Så forskellen mellem de to er, at det venstre ydre sammenføjningspunkt omfatter de ikke-matchede rækker eller alle poster i tabellen til venstre for sammenføjningsklausulen, herunder de matchede rækker fra den højre tabel eller klausul.

På den anden side omfatter et Right outer join ikke-matchede rækker fra tabellen på højre side af Join-klausulen og returnerer alle rækker fra højre side.

En Join-klausul kombinerer poster eller ændrer og manipulerer formularer fra to eller flere tabeller ved hjælp af en Join-betingelse. Denne Join-betingelse angiver, hvordan kolonnerne fra de forskellige tabeller matches, når de sammenlignes.

Der vil f.eks. være en standardkolonne mellem en tabel, der indeholder lønnen for en medarbejder, og en anden tabel, der indeholder oplysninger om en medarbejder. Dette kan være medarbejder-ID, og dette hjælper med at sammenføje de to tabeller.

Du kan altså betragte tabellen som en enhed, og nøglen er et fælles link mellem de to tabeller, som bruges til fælles drift.

Det kan være svært at studere databaser, men det er ret nemt at få det, hvis man forstår det grundigt.

Hvad er forskellen mellem Right Join og Right Outer Join?

Højre sammenføjninger svarer til venstre sammenføjninger, bortset fra at de returnerer alle rækker i tabellen fra højre side og de matchende rækker fra venstre side.

Igen har Right Join og Right Outer Join ingen specifik forskel, på samme måde som Left Join og Left Outer Join ikke har nogen forskel. Kort sagt er udtrykket Right Join blot en forkortelse for Right Outer Join.

Nøgleordet "outer" er valgfrit. De udfører begge den samme opgave, nemlig at kombinere datasættene og tabellerne.

Hvorfor bruge Right Join i stedet for Left Join?

Generelt bruges Right Outer Joins ikke så ofte, fordi man altid kan erstatte dem med Left Outer Joins, og man behøver ikke at udføre yderligere funktioner.

Man kan overveje at bruge Right Join i stedet for Left Join, når man forsøger at gøre sin SQL mere selvdokumenterende.

Du kan bruge Venstre samling til at behandle forespørgsler, der har nul rækker på den afhængige side. Du skal bruge Højre Føje for spørgsmål, der genererer nulrækker på den uafhængige side.

Højre ydre samling er også nyttig, når du har brug for at kombinere en tabel med krydset af mange andre tabeller.

Forskellen mellem Join og Union i SQL

Forskellen mellem Join og Union er, at Union bruges til at kombinere resultatsættet fra to eller flere SELECT-meddelelser.

Mens Join kombinerer data fra mange tabeller afhængigt af den matchede betingelse, resulterer data, der kombineres ved hjælp af Join-meddelelser, i nye kolonner.

De data, der kombineres ved hjælp af Union-angivelsen, resulterer i nye særskilte rækker fra sættene med samme antal kolonner.

Afsluttende overvejelser

Som konklusion, der er ingen forskel mellem LEFT JOIN og LEFT OUTER JOIN Dette gælder også for Right Join og Right Outer Join.

Begge taster har de samme funktioner, og " outer" er blot et valgfrit nøgleord, der kan anvendes. Nogle anbefaler kun at bruge det, fordi det tydeliggør, at du opretter et Outer Join.

Så i sidste ende gør det ingen forskel, om du angiver det eller ej.

Andre interessante artikler:

    Klik her for at få mere at vide om disse forskelle på en mere kortfattet måde.

    Se også: Forskellen mellem identitet & personlighed - alle forskellene

    Mary Davis

    Mary Davis er en forfatter, indholdsskaber og ivrig forsker med speciale i sammenligningsanalyse om forskellige emner. Med en grad i journalistik og over fem års erfaring på området, har Mary en passion for at levere upartisk og ligetil information til sine læsere. Hendes kærlighed til at skrive begyndte, da hun var ung og har været en drivkraft bag hendes succesfulde karriere som forfatter. Marys evne til at researche og præsentere resultater i et letforståeligt og engagerende format har gjort hende elsket af læsere over hele verden. Når hun ikke skriver, nyder Mary at rejse, læse og tilbringe tid med familie og venner.