Az SQL RIGHT JOIN tartalmazza az összes sort a jobb oldali táblázatból és azokat, amelyek a bal oldali táblázatban megegyeznek. Ami nem egyezik a jobb oldalról, az NULL-t kap vissza a megfelelő oszlopokban.

Ez a legfontosabb különbség az SQL RIGHT JOIN és az INNER JOIN között. Míg a belső csatlakozás csak a csatlakozási feltételnek megfelelő sorokat adja vissza, a jobb oldali külső csatlakozásnál garantált, hogy a jobb oldali táblák összes sora szerepel az eredményben.

Nézze meg ezt az ábrát:

Nézze meg a Fredre vonatkozó eredményeket, és vegye észre, hogy nincs megfelelő Termék, az NULL. Továbbá a nem szerepel az eredményben.

A jobb oldali csatlakozás másik neve a Right outer join.

A RIGHT JOIN általános formája a következő:

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

Megjegyzések:

  • Ebben a példában a table2 a jobb oldali tábla, a table1 pedig a bal oldali.
  • Ha nincs egyezés a commonColumn értékek között, a table1.column1 NULL-t ad vissza

SQL RIGHT JOIN Példa

Nem minden személy az AdventureWorks adatbázisban alkalmazott. Listázzunk fel minden személyt, és néhány foglalkoztatási adatát, ha van ilyen. Ehhez egy RIGHT JOIN-t fogunk használni.

Ne feledjük, hogy ez egy RIGHT JOIN, mivel a JOIN operátor jobb oldalán van a személy tábla, amely minden olyan sort tartalmaz, amelyet vissza szeretnénk adni.

-Listázza az összes személyt és a foglalkoztatási adatokat, ha vannak ilyenek. Ehhez használjuk az Outer Join-t… SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID;
--List all People and any employment data, if it exists. --Use Outer Join to do so... SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID; 

Nézzük meg az eredményeket, és észrevesszük, hogy néhány embernél NULL van. Ez azért van, mert nincsenek megfelelő bejegyzések az Employee táblában. A RIGHT JOIN a meghirdetett módon működik, minden egyezést visszaad, és NULL-t, ha nincs ilyen.

Fontos pontok:

A RIGHT JOIN-nal való munka során tartsuk szem előtt, hogy az egyik táblából a másikba történő egyezés több sorra is vonatkozhat. Ez azt jelenti, hogy az eredményedben több sor lehet, mint amennyi bármelyik táblában van.

Ha az oszlopok nem egyeznek, a lekérdezés a jobb oldali sor, és NULL a bal oldali táblázat oszlopai…

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.