SQL RIGHT JOIN Sisältää kaikki rivit oikeasta taulukosta ja ne, jotka vastaavat vasemmasta taulukosta. Sillä, joka ei täsmää oikealta, palautetaan NULL vastaavissa sarakkeissa.

Tämä on keskeinen ero SQL RIGHT JOINin ja INNER JOINin välillä. Siinä missä sisäinen liitos palauttaa vain liitosehtoa vastaavat rivit, oikeanpuoleisessa ulommassa liitoksessa taataan, että kaikki oikean taulukon rivit sisältyvät tulokseen.

Tarkista tämä kuva:

Tarkista Fredin tulokset ja huomaa, että yhtään vastaavaa tuotetta ei ole, se on NULL. Myöskään the ei sisälly tulokseen.

Toinen nimi oikealle liitokselle on Right outer join.

Oikean liitoksen yleinen muoto on:

SELECT table1.column1, table2.column2, … FROM table1 RIGHT JOIN table2 ON table1.commonColumn = table2.commonColumn 

Huom:

  • Tässä esimerkissä taulukko2 on oikea taulukko ja taulukko1 vasen.
  • Jos commonColumn-arvojen välillä ei ole vastaavuutta, table1.column1 palauttaa NULL

SQL RIGHT JOIN Esimerkki

Ei jokainen AdventureWorks-tietokannan henkilö ole työntekijä. Listataan jokainen henkilö ja osa hänen työsuhdetiedoistaan, jos niitä on olemassa. Käytämme tähän RIGHT JOINia.

Pitäkää mielessä, että kyseessä on RIGHT JOIN, sillä henkilö-taulukko, jossa on jokainen rivi, jonka haluamme palauttaa, on JOIN-operaattorin oikealla puolella.

-Luetteloi kaikki henkilöt ja mahdolliset työsuhdetiedot, jos ne ovat olemassa. Tämä johtuu siitä, että Employee-taulukossa ei ole vastaavia merkintöjä. RIGHT JOIN toimii kuten mainostetaan, palauttaa kaikki osumat ja NULLin, jos niitä ei ole.

Tärkeitä kohtia:

Työskennellessäsi RIGHT JOINin kanssa pidä mielessä, että vastaavuus yhdestä taulusta toiseen voi vastata useita rivejä. Tämä tarkoittaa, että tuloksessa voi olla enemmän rivejä kuin kummassakin taulukossa.

Kun sarakkeet eivät täsmää, kysely oikean rivin ja NULL vasemman taulukon sarakkeet…

Vastaa

Sähköpostiosoitettasi ei julkaista.