06.12.2012, Vladimír Klaus, navštíveno 6032x

MS Access
SQL

Pokud jste se seznámili s INNER JOIN i LEFT JOIN, asi už tušíte, k čemu bude sloužit RIGHT JOIN. Začneme ale opět základním dotazem.

SELECT * FROM Objednavky
RIGHT JOIN Zakaznici ON Objednavky.IdZakaznika = Zakaznici.ID

Pravá část tabulky je tedy kompletní, ale v levé části nám tři řádky chybí.

SQL obrázek

Zákazníci Nováčková, Balabán a Jelínek si totiž ještě nic neobjednali. Upravíme dotaz, který nám tyto dva hříšníky rovnou vypíše.

SELECT * FROM Objednavky
RIGHT JOIN Zakaznici ON Objednavky.IdZakaznika = Zakaznici.ID
WHERE Objednavky.IdZakaznika IS NULL

SQL obrázek

Podobně můžeme zjistit, které produkty si ještě nikdo nikdy neobjednal.

SELECT * FROM Objednavky
RIGHT JOIN Produkty ON Objednavky.IdProduktu = Produkty.ID
WHERE Objednavky.IdProduktu IS NULL

SQL obrázek