Rekommenderas, 2024

Redaktionen

Skillnad mellan vänster, höger och fullständig yttre del

Tidigare har vi diskuterat skillnaderna mellan Inner Join och Outer Join, där vi har överblick över typerna av Outer Join. Yttre anslutning är den som bevarar tuplarna i resultatet som skulle ha gått vilse under samverkan. I den här artikeln; vi kommer att diskutera skillnaderna mellan typerna av yttre anslutning. Det finns tre typer av yttre anslutning; Vänster Outer Join, Right Outer Join, och Full Outer Join. Vänster, Höger och Full Outer Join skiljer sig åt i deras exekveringsplan och de erhållna resultaten. Vi kan utelämna ett yttre ord från vänster, höger och fullständigt yttre samtal. Låt oss undersöka skillnaderna mellan Vänster, Höger och Helt yttre Gå med hjälp av jämförelsetabellen nedan.

Jämförelsediagram

Grunder för jämförelseVänster Outer JoinHöger yttre gå medFullständig yttre anslutning
GrundläggandeAlla pjäser i vänstra bordet förblir i resultatet.Alla pjäserna på rätt bord kvarstår i resultatet.Alla tuparna från vänster och höger bord kvarstår i resultatet.
NULL-förlängningTavlorna på vänstra bordet som inte har en matchande tupel i rätt tabell utökas med NULL-värde för attribut av det rätta bordet.Högerna till höger bord som inte har en matchande tupel i vänster tabell utökas med NULL-värde för attribut av det vänstra bordet.
Trummorna i vänster såväl som det rätta bordet som inte har matchande tupler i respektive höger och vänstra bord förlängs med NULL-värde för attribut av de högra och vänstra tabellerna.

Definition av vänster yttre anslutning

Antag att vi har " Table_A Left Outer Join Table_B ". Så Table_A är vårt vänstra bord som det verkar vara kvar av Left Outer Join- operationen och Table_B är vårt rätta bord.

Initialt skulle den inre föreningen appliceras på tabell_A och tabell_B som kommer att returnera alla matchande tupel från tabell A och B.

Därefter kommer alla tuplar att returneras från Table_A som inte har en matchande tuple i Table_B. Således skulle de resulterande tuplarna vara vadderade med NULL- värden för attributen till det högra tabellen.

Resultatet som erhålls från Vänster Outer Join behåller alla tuparna från vänster bord och endast matchande tuplar från höger bord.

Låt oss diskutera Left Outer Join med ett exempel; vi har två tabeller nedan, studentbord och avdelningsbord .

Nu ska vi tillämpa Vänster Outer Join, på Student och Department Table.

VÄLJ * FRÅN STUDENT VÄNSTER UTGÅENDE JOIN- avdelningen
ON Student. Student_ID = Institution.Student_ID

I förfrågan ovan är tabellen Student det vänstra bordet och bordavdelningen är det rätta bordet. Så enligt Left Outer Join måste resultatet ha alla tuplorna från Studentbordet och bara matchande tupler från avdelningstabellen.

Observera resultatet erhållet från Left Outer Join; det har alla tuplar från studentbordet tillsammans med matchande tupler från både student- och avdelningsbordet. Jimmys student, Joseph Harry av Studentbordet var inte närvarande i avdelningsbordet. Därför utvidgas attributvärdena för avdelningsbordet för Jimmy, Joseph Harry till NULL.

Definition av Right Outer Join

Antag att vi har " Table_A Right Outer Join Table_B ". Så Table_A är vårt vänstra bord som det verkar vara kvar av Right Outer Join operation och Table_B är vårt rätta bord.

Liksom i vänstra yttre sammanslutningen, skulle inledningsvis det inre föreningen appliceras på tabell_A och tabell_B som kommer att returnera all matchande tupel från tabell A och B.

Därefter kommer alla tuplar att returneras från Table_B som inte har en matchande tupel i Table_A. Således skulle de resulterande tuplarna vara vadderade med NULL-värden för attributen i det vänstra bordet.

Därför behåller resultatet som erhålls från det högra yttre förbundet alla tuplarna från rätt bord och endast matchande tuplar från vänstra bordet.

Låt oss diskutera Right Outer Join med ett exempel; ovanför har vi två bord, studentbord och avdelningsbord.

Nu ska vi tillämpa Right Outer Join på Studentbordet och avdelningsbordet.

VÄLJ * FRÅN RÄDDARE FÖR UTBILDNING AV JÄMFÖRARE
ON Student. Student_ID = Institution.Student_ID

I förfrågan ovan är Studentbordet vårt vänstra bord och avdelningstabell är vårt rätta bord. Enligt den högra yttre anslutningsoperationen måste resultatet inkludera alla tuplarna från avdelningsbordet och bara matchande tupler från studentbordet.

Observera resultatet erhållet från höger yttre anslutning; Det har alla tuplar från avdelningsbordet tillsammans med matchande tuples från både Student och Department bordet. Student_ID 10536 och 00954, avdelningstabell, finns inte i studentbordet. Följaktligen utvidgas attributvärdet för Namn för Student_ID 10536 och 00954 till NULL.

Definition av Full Outer Join

Antag att vi har " Table_A Full Outer Join Table_B ". Så Table_A är vårt vänstra bord som det verkar vara kvar av Full Outer Join operation och Table_B är vårt rätta bord.

Full Outer Join är kombinationen av både Vänster Outer Join och Right Outer Join . Ursprungligen appliceras det inre föreningenTable_A och Table_B för att hämta matchande tuples från båda tabellerna. Därefter sträcker de de tumlarna i Table_A med NULL som inte har en matchande tupel i Table_B. Vidare sträcker de de här tuplarna från tabell_B med NULL som inte har en matchande tupel i tabell_A.

Därför håller Full Outer Join alla tuplar från vänster såväl som rätt bord, tillsammans med matchande tupler i båda tabellerna.

Låt oss diskutera FULL Outer Join med ett exempel; vi har två tabeller ovan, studentbord och avdelningsbord .

Nu ska vi ansöka Full Outer Join på Studentbordet och avdelningsbordet.

VÄLJ * FRÅN STUDIER FULL YTTERLIGA JOIN- avdelningen
ON Student. Student_ID = Institution.Student_ID

I förfrågan ovan är Studentbordet vårt vänstra bord och avdelningsbordet är vårt rätta bord. Enligt Full Outer Join måste resultatet inkludera alla tuplar från båda tabellerna.

Observera resultatet erhållet från full yttre anslutning; Det har alla tuplar från Student- och avdelningsbordet tillsammans med matchande tupler från både Student- och avdelningsbordet. Studenten av Jimmy, Joseph Harry dvs 10026, 02256, 56362, av Studentbordet, var inte närvarande i avdelningstabellen. Därför utvidgas attributvärdena för avdelningsbordet för Jimmy, Joseph Harry, till NULL . Student_ID 10536 och 00954, av avdelningsbordet, finns inte i Student_ID-kolumnen Studenttabell. Följaktligen utvidgas attributvärdet för Namnattribut för Student_ID 10536 och 00954 till NULL .

Viktiga skillnader mellan vänster, höger och fullständig yttre del

  1. Resultatet av Left Outer Join har alla stolpar av vänstra bordet. På liknande sätt har resultatet av Right Outer Join alla tuplar på rätt bord. Och resultatet av Full Outer Join har alla tuplar från både vänster och höger bord.
  2. I vänster yttre sammanslutning utvidgas tuplar av vänstra bord som inte har en matchande tupel i rätt tabell, med Null-värden för attributen till det rätta bordet. Motsatt är fallet för Right Outer Join. Och i Full Outer Join, har tuplarna från vänster och höger bord som inte har matchande tupler i respektive höger och vänstra tabellen utökats med NULL för attributen till höger respektive vänster tabell.

Slutsats:

Ta hand om positionerna för tabellnamn i en fråga. Eftersom positionen för tabellnamn i fråga bestämmer huruvida tabellen skulle betraktas som vänster tabell eller höger tabell.

Top