Operace LEFT JOIN, RIGHT JOIN

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Při použití v libovolné klauzuli FROM slučuje záznamy ze zdrojových tabulek.

Syntaxe

FROM tabulka1 [ LEFT | RIGHT ] JOIN table2
ON tabulka1.pole1compopr tabulka2.pole2

Operace LEFT JOIN a RIGHT JOIN mají následující části:

Část Popis
tabulka1, tabulka2 Názvy tabulek, ze kterých jsou slučovány záznamy
pole1, pole2 Názvy slučovaných polí. Pole musí mít stejný datový typ a obsahovat stejný druh dat, názvy polí se však nemusejí shodovat.
operátor_porovnání Libovolný relační porovnávací operátor: "=," "<," "," "><=," ">=" nebo "<>."

      

Poznámky

Operace LEFT JOIN slouží k vytvoření levého vnějšího spojení. Levá vnější spojení zahrnují všechny záznamy z první ze dvou tabulek (vlevo), a to i záznamy, pro které nejsou odpovídající hodnoty v druhé tabulce (vpravo).

Použijte operaci RIGHT JOIN k vytvoření pravého vnějšího spojení. Pravá vnější spojení zahrnují všechny záznamy z druhé ze dvou tabulek (vpravo), a to i záznamy, pro které nejsou odpovídající hodnoty v první tabulce (vlevo).

Pomocí operace LEFT JOIN s tabulkami Oddělení (vlevo) a Zaměstnanci (vpravo) můžete například vybrat všechna oddělení včetně těch, do kterých nejsou přiřazení žádní zaměstnanci. K výběru všech zaměstnanců včetně těch, kteří nejsou přiřazení do žádného oddělení, byste použili operaci RIGHT JOIN.

Následující příklad ukazuje, jak byste mohli tabulky Categories a Products spojit pomocí pole CategoryID. Dotaz vytvoří seznam všech kategorií včetně těch, které neobsahují žádné produkty:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

V tomto příkladu je spojeným polem CategoryID, avšak toto pole není zahrnuté ve výsledcích dotazu, protože není zahrnuté v příkazu SELECT. Pokud chcete zahrnout spojené pole, zadejte název pole do příkazu SELECT – v tomto případě . Categories.CategoryID

K vytvoření dotazu zahrnujícího jenom záznamy, ve kterých jsou data ve spojených polích shodná, použijte operaci INNER JOIN.

  • Operace LEFT JOIN a RIGHT JOIN můžou být vnořené uvnitř operace INNER JOIN, ale operace INNER JOIN nemůže být vnořená uvnitř operací LEFT JOIN a RIGHT JOIN. Pokud chcete zjistit, jak vnořovat spojení do jiných spojení, přečtěte si část o vnořování v tématu o operaci INNER JOIN.
  • Můžete propojit několik klauzulí ON. Postup najdete v části o propojování klauzulí v tématu o operaci INNER JOIN.

Pokud se pokusíte spojit pole obsahující data Memo nebo objekt OLE, dojde k chybě.