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.
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…