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.