Operácie LEFT JOIN, RIGHT JOIN

Kombinuje záznamy zdrojovej tabuľky, keď sa použije s ľubovolnou klauzulou FROM.

Syntax

FROM tabuľka1 [LEFT | RIGHT ] JOIN tabuľka2
ON tabuľka1.pole1operpor tabuľka2.pole2

Operácie LEFT JOIN a RIGHT JOIN majú 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ú. Polia musia obsahovať rovnaký typ údajov, ako aj druh údajov, ale nemusia mať rovnaký názov.

compopr

Ľubovoľný operátor relácie porovnávania: „=“, „<“, „>“, „<=“, „>=“ alebo „<>“.


Poznámky

Na vytvorenie vonkajšieho spojenia zľava použite operáciu LEFT JOIN. Vonkajšie spojenie zľava zahrňuje všetky záznamy z prvej (ľavej) z dvoch tabuliek, a to aj vtedy, ak v záznamoch v druhej tabuľke (pravej) neexistujú žiadne zodpovedajúce hodnoty.

Na vytvorenie vonkajšieho spojenia sprava použite operáciu RIGHT JOIN. Vonkajšie spojenie sprava zahrňuje všetky záznamy z druhej (pravej) z dvoch tabuliek, a to aj vtedy, ak v záznamoch v prvej tabuľke (ľavej) neexistujú žiadne zodpovedajúce hodnoty.

Napríklad môžete použiť operáciu LEFT JOIN v tabuľkách Oddelenia (ľavá) a Zamestnanci (pravá) a vybrať všetky oddelenia vrátane tých, ktoré nemajú žiadnych zamestnancov. Ak chcete vybrať všetkých zamestnancov vrátane tých, ktorí nie sú priradení k žiadnemu oddeleniu, použite operáciu RIGHT JOIN.

Nasledujúci príklad ukazuje, ako je možné spojiť tabuľky Kategórie a Produkty podľa poľa IDKategórie. Dotaz vráti zoznam všetkých kategórií vrátane tých, ktoré neobsahujú produkty:

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

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

Poznámka: 

Ak chcete vytvoriť dotaz, ktorý obsahuje len záznamy, v ktorých sú údaje obsiahnuté v spojených poliach rovnaké, použite operáciu INNER JOIN.

  • 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. Pozrite si diskusiu o vnorení v téme INNER JOIN a zistite, ako používať vnorené spojenie v rámci iných spojení.

  • Môžete prepájať viaceré klauzuly ON. Pozrite si diskusiu o prepájaní klauzúl v téme INNER JOIN a naučte sa, ako na to.

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



Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×