Operace LEFT JOIN, RIGHT JOIN

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

Syntaxe

FROM tabulka1 [ LEFT | RIGHT ] JOIN tabulka2
ON tabulka1.pole1 operátor_porovnání 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 se používá 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).

Operace RIGHT JOIN se používá 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.

Poznámka: 

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. Operace INNER JOIN ale nemůže být vnořená uvnitř operací LEFT JOIN a RIGHT JOIN. Pokud chcete získat informace o vnořování 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ě.



Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×