Operácia INNER JOIN

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kombinuje záznamy z dvoch tabuliek vždy, keď sa vyskytujú zhodné hodnoty v spoločnom poli.

Syntax

TABUĽKA FROM1 TABUĽKA INNER JOIN2ON tabuľka1. tabuľka field1compopr2. pole2

Operácia INNER JOIN má tieto časti:

Časť Popis
tabuľka1 , tabuľka2 Názvy tabuliek, ktorých záznamy sa spájajú.
pole1 , pole2 Názvy polí, ktoré sa spájajú. Ak nie sú číselné, polia musia mať rovnaký typ údajov a musia obsahovať rovnaký druh údajov, ale nemusia mať rovnaký názov.
compopr Ľubovoľný operátor relačného porovnávania: "=", "<," "" "<>=", ">=" alebo "<>."

      

Poznámky

Operáciu INNER JOIN môžete použiť v ľubovoľnej klauzule FROM. Toto je najčastejší typ spojenia. Vnútorné spojenia skombinujú záznamy z dvoch tabuliek vždy, keď sa vyskytnú zhodné hodnoty v poli, ktoré je spoločné pre obidve tabuľky.

Príkaz INNER JOIN môžete použiť s tabuľkami Oddelenia a Zamestnanci na výber všetkých zamestnancov v každom oddelení. Naopak, ak chcete vybrať všetky oddelenia (aj keď niektorí nemajú priradených žiadnych zamestnancov) alebo všetkých zamestnancov (aj keď niektoré nie sú priradené k oddeleniu), môžete na vytvorenie vonkajšieho spojenia použiť operáciu LEFT JOIN alebo RIGHT JOIN.

Ak sa budete pokúšať spojiť polia obsahujúce údaje Memo alebo objektu OLE, vyskytne sa chyba.

Spojiť môžete ľubovoľné dve numerické polia, ktoré sú podobného typu. Môžete napríklad spojiť polia AutoNumber a Long, pretože sú to podobné typy. Nie je však možné spojiť polia typu Single a Double.

Nasledujúci príklad ukazuje, ako je možné spojiť tabuľky Kategórie a Produkty podľa poľa IDKategórie:

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

V predchádzajúcom príklade je IDKategórie spojené pole, no nie je zahrnuté vo výstupe dotazu, pretože sa nenachádza v príkaze SELECT. Ak chcete zahrnúť spojené pole, zahrňte názov poľa do príkazu SELECT – v tomto prípade Categories.CategoryID.

V príkaze JOIN môžete tiež prepojiť niekoľko klauzúl ON pomocou nasledujúcej syntaxe:

Polia SELECT
TABUĽKA FROM1 TABUĽKA INNER JOIN2
TABUĽKA ON1. field1compoprtable2. pole1 A
TABUĽKA ON1. field2compoprtable2. pole2) ALEBO
TABUĽKA ON1. field3compoprtable2. pole3)];

Príkazy JOIN môžete tiež vnoriť pomocou nasledujúcej syntaxe:

Polia SELECT
FROM tabuľka1 INNER JOIN
(tabuľka2 INNER JOIN [( ]tabuľka3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
TABUĽKA ON3. field3compoprtablex. fieldx)]
TABUĽKA ON2. field2compoprtable3. pole3)
TABUĽKA ON1. field1compoprtable2. pole2;

LEFT JOIN alebo RIGHT JOIN môžu byť vnorené do INNER JOIN, ale INNER JOIN nie je možné vnoriť do LEFT JOIN alebo RIGHT JOIN.