Operace LEFT JOIN, RIGHT JOIN

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Kombinují záznamy zdrojových tabulek v případě použití v libovolné klauzuli FROM.

Syntaxe

FROM tabulka1 [VLEVO | PRAVÝ] JOIN tabulka2
NA tabulka1.pole1operá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 kombinovány záznamy.

pole1, pole2

Názvy polí, která jsou spojována. 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í operátor porovnání: =, <, >, <=, >= nebo <>.


Poznámky

Operaci LEFT JOIN lze použít k vytvoření Levé vnější spojení. V případě levého vnějšího spojení jsou zahrnuty všechny záznamy z první (levé) tabulky, a to i v případě, že ve druhé (pravé) tabulce pro tyto záznamy neexistují žádné odpovídající hodnoty.

Operaci RIGHT JOIN lze použít k vytvoření Pravé vnější spojení. V případě pravého vnějšího spojení jsou zahrnuty všechny záznamy ze druhé (pravé) tabulky, a to i v případě, že v první (levé) tabulce pro tyto záznamy neexistují žádné odpovídající hodnoty.

Pomocí operace LEFT JOIN použité na tabulky Departments (levá tabulka) a Employees (pravá tabulka) lze například vybrat všechna oddělení, včetně oddělení, kterým nejsou přiřazeni žádní zaměstnanci. Chcete-li naopak vybrat všechny zaměstnance, včetně zaměstnanců nezařazených do žádného oddělení, použijte operaci RIGHT JOIN.

Následující příklad obsahuje ukázku spojení tabulek Kategorie a Výrobky podle pole KódKategorie. Výsledkem dotazu je seznam všech kategorií, včetně těch, které neobsahují žádné výrobky:

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

KódKategorie představuje v tomto příkladu spojené pole. Není ale zahrnuto ve výsledku dotazu, protože není zahrnuto v příkazu SELECT. Pro zahrnutí spojeného pole vložte název pole do příkazu SELECT – v tomto případě Kategorie.KódKategorie.

Poznámka : 

Chcete-li vytvořit dotaz obsahující pouze záznamy, v jejichž případě jsou data ve spojovaných polích shodná, použijte operaci INNER JOIN.

  • Operace LEFT JOIN a RIGHT JOIN lze vnořit do operace INNER JOIN, operaci INNER JOIN však nelze vnořit do operace LEFT JOIN nebo RIGHT JOIN. Další informace o vnořování operací spojení do jiných operací spojení naleznete v poznámce o vnořování v tématu věnovanému operaci INNER JOIN.

  • Je možné spojovat více klauzulí ON. Další informace k této problematice naleznete v poznámce ke spojování klauzulí v tématu věnovanému operaci INNER JOIN.

Pokud se pokusíte spojit pole obsahující data o zápisů nebo objekt OLE, dojde k chybě.



Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

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

×