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ú.

FROM tabuľka1 [LEFT | RIGHT 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
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.

×