Office
Přihlásit se

Operace INNER JOIN

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, ProductName
FROM Categories INNER JOIN Products
ON 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 pole
FROM tabulka1 INNER JOIN tabulka2
ON tabulka1.pole1operátor_porovnánítabulka2.pole1 AND
ON tabulka1.pole2operátor_porovnánítabulka2.pole2) OR
ON tabulka1.pole3operátor_porovnánítabulka2.pole3)];

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

SELECT pole
FROM 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.



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.

×