Applies ToAccess pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kombinuje záznamy ze dvou tabulek, kdykoli ve společném poli existují shodné hodnoty.

Syntaxe

FROM tabulka1 INNER JOIN tabulka2 ON tabulka1.pole1operátor_porovnánítabulka2.pole2

Operace INNER JOIN se skládá z těchto částí:

Část

Popis

tabulka1, tabulka2

Názvy tabulek, ze kterých jsou slučovány záznamy

pole1, pole2

Názvy slučovaných polí. Nejedná-li se o číselná pole, musí mít obě pole 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

Operaci INNER JOIN můžete použít z jakékoli klauzule FROM. Toto je nejběžnější typ spojení. Vnitřní spojení kombinují záznamy ze dvou tabulek, kdykoli ve společném poli obou tabulek existují shodné hodnoty.

INNER JOIN můžete použít s tabulkami Departments a Employees pro výběr všech zaměstnanců v jednotlivých odděleních. Pokud chcete naopak vybrat všechna oddělení (i v případě, že některá nemají přiřazené žádné zaměstnance) nebo všechny zaměstnance (i v případě, že někteří nejsou přiřazení žádnému oddělení), můžete pomocí operace LEFT JOIN nebo RIGHT JOIN vytvořit vnější spojení.

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

Můžete spojit jakákoli dvě číselná pole s podobnými typy. Můžete třeba spojit pole AutoNumber a Long, protože jsou podobného typu. Nemůžete ale spojit pole typu Single a Double.

Následující příklad ukazuje, jak byste mohli tabulky Categories a Products spojit pomocí pole CategoryID.

SELECT CategoryName, ProductNameFROM Categories INNER JOIN ProductsON Categories.CategoryID = Products.CategoryID;

V předchozím příkladu je spojeným polem CategoryID, toto pole ale není zahrnuto ve výstupu dotazu, protože není zahrnuto v příkazu SELECT. Pokud chcete zahrnout spojené pole, zahrňte název pole do příkazu SELECT – v tomto případě Categories.CategoryID.

V příkazu JOIN také můžete propojit několik klauzulí ON pomocí následující syntaxe:

SELECT poleFROM tabulka1 INNER JOIN tabulka2ON tabulka1.pole1operátor_porovnánítabulka2.pole1 ANDON tabulka1.pole2operátor_porovnánítabulka2.pole2) ORON tabulka1.pole3operátor_porovnánítabulka2.pole3)];

Můžete také vnořit příkazy JOIN pomocí následující syntaxe:

SELECT poleFROM tabulka1 INNER JOIN(tabulka2 INNER JOIN [( ]tabulka3[INNER JOIN [( ]tabulkax [INNER JOIN ...)] ON tabulka3.pole3operátor_porovnánítabulkax.polex)]ON tabulka2.pole2operátor_porovnánítabulka3.pole3) ON tabulka1.pole1operátor_porovnánítabulka2.pole2;

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.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.