Full Join in PostgreSql

Full Join in PostgreSql
Begrepene fullt sammen med eller full ytre sammenføyning har blitt brukt om hverandre. Full Join er kombinasjonen av en venstre sammenføyning og høyre bli med. Den viser alle postene som er matchet eller uovertruffen. I PostgreSQL har hele sammenkoblingen blitt brukt til å hente alle postene når data har blitt tilpasset alle tabeller, e.g., venstre eller høyre. Denne artikkelen er nyttig for de som mangler en forståelse av full sammenføyning. For å forstå konseptet med full sammenføyning, vil vi gå gjennom noen eksempler. Så la oss åpne PostgreSql Pgadmin GUI fra oppgavelinjen til Windows 10.

Lag tabeller:

For å forstå fullt sammen med, må PostgreSQL -brukere ha to tabeller i systemet sitt. Så vi lager to tabeller og setter inn poster i dem. Åpne spørringsredigereren i Postgres -databasen til PGADMIN. For det første har vi laget en tabell som heter “WVEGS” ved hjelp av Create Table -kommandoen i Query Editor. Denne tabellen representerer postene for grønnsaker produsert i vintersesongen. Tabellen inneholder kolonner wid og wname. Innlegget i uttalelsen har blitt brukt til å sette inn verdiene i begge tabellen “WVEGS” -kolonner. "Run" -ikonet fra oppgavelinjen til PGADMIN har blitt brukt til å behandle de angitte Below to spørsmålene.

Lag tabell WVEG -er (wid int primærnøkkel, wname varchar (250) ikke null);
Sett inn i wvegs (wid, wname) verdier (1, 'løk'), (2, 'kål'), (3, 'blomkål'), (4, 'gulrot'), (5, 'broccoli');

Suksessmeldingen på utgangsskjermen viser at dataene er satt inn i tabellen riktig. La oss hente postene til en tabell “WVEGS” ved å bruke alternativet “Vis/redigere data” ved å høyreklikke på bordet. Vi har lagt til ytterligere to poster i denne tabellen fra nettvisningen. Spørringen som brukes til å hente tabellen er gitt som følger:

Velg * fra offentlig.Wvegs bestilling av wid asc;

Et annet bord, Svegs, er opprettet ved hjelp av Create Table Command for å lagre postene for grønnsaker produsert i sommersesongen. Innlegget i kommandoen brukes her for å sette inn poster i denne tabellen. Begge tabellene er opprettet med hell, som utdataene viser.

Lag tabell SVEG -er (Sid Int Primary Key, SNAME VARCHAR (250) NOT NULL);
Sett inn SVEGS (SID, SNAME) verdier (1, 'tomat'), (2, 'potet'), (3, 'agurk'), (4, 'mynte'), (5, 'brinjal');

Tabellen "SVEGS" med sin innsatte post kan hentes ved hjelp av alternativet "Vis/redigeringsdata" ved å høyreklikke på tabellen "SVEGS". Kommandoen "Select" kan også brukes til å gjøre det, som illustrert nedenfor.

Velg * fra offentlig.Svegs Order av Sid Asc;

Eksempel 01: Enkel full join

La oss starte med implementeringen av fullt sammen med vårt aller første eksempel. Vi har brukt Select -spørringen i redaktøren av PostgreSQL GUI for å velge postene fra tabellen “SVEGS” og “WVEGS”. Vi har hentet begge tabellens kolonneposter i denne spørringen mens vi bruker full sammenføyningstilstand på tabellen WVEGS. Alle postene fra begge tabellene vises der IDene til tabellen "Svegs" og "WVEGS" er de samme, e.g., 1 til 5. På den annen side vil Full Join erstatte NULL der IDen til SVEGS ikke møtes med IDen til "WVEGS" -tabellen. Utgangen fra den angitte fullkjøringsforespørselen er påvist i SNAP.

Velg SID, SNAME, WID, WNAME fra SVEGS Full Join WVEGS på SID = wid;

Hvis du vil erstatte fullt inn i nøkkelordklausulen med full ytre sammenføyning, kan du også gjøre det i dette eksemplet. Så vi har erstattet hele sammenføyningen med full ytre sammenføyning i spørringen for å se resultatene. Den gjenværende spørringen har vært den samme som angitt under. Vi har funnet ut at begge spørsmålene fungerer på samme måte, og utgangen er ganske lik også. Utgangen er også vist i snap.

Velg SID, SNAME, WID, WNAME fra SVEGS Full Outer Join WVEGS på SID = wid;

Eksempel 02: Bord-aliaser ved hjelp av full join

Eksemplet ovenfor har vist hvordan hele sammenføyningen ganske enkelt fungerer perfekt for å hente postene. Nå vil vi se på hele Bruken for å gjøre bord-aliaser i PostgreSQL-databasen. Tabell-aliaser er den enkleste og kraftige teknikken som brukes i PostgreSQL og andre databaser for å gi tabellene som skal brukes i full sammenføyning, noen enkleste navn for å unngå ulemper ved bruk av vanskelige tabellnavn. Det er erstatning av bordets opprinnelige navn. Mens den fulle sammenføyningen fungerer på samme måte som det gjør i eksemplet ovenfor. Så vi har brukt den samme spørringen som brukt i eksemplet ovenfor med en liten oppdatering. Vi har tildelt tabellene noen nye navn som aliaser, e.g., s og w. Spørringen nedenfor viser samme utgang.

Velg s.Sid, sname, wid, wname fra svegs s full sammen med wvegs w på s.Sid = w.Wid;

Eksempel 03: Bruk av hvor klausul

Vi vil bruke hvor leddet i spørringen har fullt sammen brukt på det i dette eksemplet. Instruksjonen viser at spørringen må hente alle postene til begge tabellene bortsett fra posten til et grønnsaksnavn “Agurk”. Utgangen viser alle dataene, men mangler grønnsakene fra begge tabellene som har ID “3”. På grunn av dette har også grønnsaksen "blomkål" fra WVEGS -bordet blitt ignorert på grunn av ID -en "3".

Velg Sid, Sname, wid, wname fra svegs full sammen med wvegs på sid = wid hvor sname != 'Agurk';

Eksempel 04:

La oss oppdatere tabellen "wvegs" litt. Vi har lagt til en ekstra kolonne, “Sid”, innenfor den. Vi har lagt til noen poster i noen rader med SID -kolonnen, og noen har blitt tomme med vilje med vilje. Tabellen er lagret ved å tappe på lagringsikonet fra oppgavelinjen.

Etter denne oppdateringen brukte vi hele ytre sammenføyning på SVEGS -tabellen i stedet for WVEGS -tabellen som vi gjorde i eksemplene ovenfor. Vi har hentet postene på vegne av SID -kolonnen som er nevnt i WVEGS -tabellen og SVEGS -tabellen mens vi bruker aliaser. Utgangen viser alle postene der ID -ene fra SID for begge tabellene matchet. Den viser null der IDene ikke er like innenfor kolonnen SID i tabellen SVEGS og WVEGS.

Velg wid, wname, sname fra wvegs w full ytre sammenføyning av svegs s på s.Sid = w.Sid;

Eksempel 05:

La oss bruke hvor leddet i samme spørsmål som ble brukt i eksemplet. Den fullstendige ytre sammenføyningen har blitt brukt her for å hente dataraden fra begge tabellene der WVEGS -tabellen inneholder en nullverdi i kolonnen WName. Utgangen fra den påfølgende kolonneverdien til en annen tabell, “SNAME” i motsetning til nullkolonnen til WVEGS, kolonnen “WNAME” er “Cucumber”.

På den annen side er utgangen fra de påfølgende kolonneverdiene til en annen tabell “WName”, i motsetning til null -kolonnen i SVEGS -kolonnen “Sname” “Carrot” og “Red Chilli”.

Konklusjon:

Denne artikkelen inneholder eksempler på fullstendig. Full sammenkoblingsklausul kan oppnå sitt mål mens den brukes i SELECT -kommandoen. Konseptet med full sammenkobling blir lettere ved bruken av tabellaliaser og hvor klausuler. Bruk av full sammenføyning med nevnte klausuler gjør vår artikkel enklere å forstå og implementere for PostgreSQL -brukere.