Access SQL: Klauzula FROM

Tento článok patrí k súboru článkov o jazyku SQL v Accesse. Uvádza sa v ňom spôsob, akým sa píše klauzula FROM, a obsahuje príklady na znázornenie rôznych techník, ktoré môžete použiť v klauzule FROM.

Zdroje údajov v príkaze SELECT sa zadávajú v klauzule FROM. Klauzula FROM môže obsahovať aj operáciu JOIN. Operácia JOIN sa používa na spárovanie a skombinovanie údajov z dvoch zdrojov údajov, ako sú napríklad dve tabuľky alebo jedna tabuľka a jeden dotaz.

Prehľad o jazyku SQL v Accesse nájdete v článku SQL v Accesse: základné koncepty, slovník a syntax.

Obsah článku

Určenie zdrojov údajov

Použitie náhradných názvov zdrojov údajov

Spojenie súvisiacich údajov

Určenie zdrojov údajov

Klauzula FROM v príkaze SELECT určuje tabuľky alebo dotazy obsahujúce údaje, ktoré bude klauzula SELECT používať.

Predpokladajme, že chcete zistiť telefónne číslo konkrétneho zákazníka. Ak má tabuľka obsahujúca pole s týmito údajmi názov tblCustomer, klauzula FROM môže vyzerať takto:

FROM tblCustomer

Názov môžete uzavrieť do hranatých zátvoriek. Ak názov neobsahuje žiadne medzery a špeciálne znaky (napríklad interpunkčné znamienka), hranaté zátvorky nie sú povinné. Ak názov obsahuje medzery alebo špeciálne znaky, hranaté zátvorky musíte použiť.

Tip: Názov, ktorý obsahuje medzery, sa ľahšie číta a ušetrí čas pri návrhu formulárov a zostáv, no budete mať viac písania pri zadávaní príkazov SQL. Tento fakt by ste mali zvážiť pri pomenovaní objektov v databáze Accessu.

Použitie náhradných názvov zdrojov údajov

Ak chcete pri odkazovaní na tabuľku v príkaze SELECT použiť iný názov tabuľky, môžete v klauzule FROM použiť alias tabuľky. Alias tabuľky je názov priradený k zdroju údajov v dotaze, keď sa ako zdroj údajov používa výraz, prípadne na uľahčenie písania a čítania príkazu SQL. Môže to byť užitočné napríklad v prípade, že je názov zdroja údajov dlhý alebo sa ťažko píše, a to najmä vtedy, ak sa používa viacero polí s rovnakým názvom z rôznych tabuliek.

Ak chcete napríklad vybrať údaje z dvoch polí, ktoré majú názov ID, pričom jedno pole pochádza z tabuľky tblCustomer a druhé z tabuľky tblOrder, klauzula SELECT môže vyzerať takto:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Ak v klauzule FROM použijete aliasy tabuliek, dotaz sa bude ľahšie písať. Klauzula FROM s aliasmi tabuliek môže vyzerať takto:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Aliasy tabuliek potom môžete použiť v klauzule SELECT takto:

SELECT [C].[ID], [O].[ID]

Poznámka: Pri používaní aliasu tabuľky môžete na tabuľku v príkaze SQL odkazovať pomocou aliasu alebo celého názvu tabuľky.

Spojenie súvisiacich údajov

Ak potrebujete skombinovať dvojice záznamov z dvoch zdrojov údajov do jedného záznamu vo výsledku dotazu, môžete vytvoriť spojenie. Spojenie je operácia jazyka SQL, ktorá určuje, ako navzájom súvisia dva zdroje údajov a či sa majú do výsledku zahrnúť údaje z jedného zdroja, ak v druhom zdroji neexistujú žiadne zodpovedajúce údaje.

Na skombinovanie informácií z dvoch zdrojov údajov je potrebné vykonať operáciu spojenia v poli, ktoré majú zdroje spoločné. Keď sa hodnoty uložené v tomto poli zhodujú, údaje zo záznamov sa skombinujú vo výsledkoch.

Okrem kombinovania údajov možno operáciu spojenia použiť aj na určenie, či sa majú do výsledkov zahrnúť záznamy z niektorej z tabuliek, ak v súvisiacej tabuľke neexistuje zodpovedajúci záznam.

Predpokladajme napríklad, že chcete v dotaze použiť údaje z dvoch tabuliek: tblCustomer a tblOrder. Obidve tabuľky obsahujú pole s názvom CustomerID, ktoré slúži na identifikáciu zákazníka. Každý záznam v tabuľke tblCustomer môže mať jeden alebo viacero zodpovedajúcich záznamov v tabuľke tblOrder a zodpovedajúce hodnoty možno určiť pomocou hodnôt v poli CustomerID.

Ak chcete tabuľky spojiť tak, aby dotaz skombinoval záznamy z tabuliek a vylúčil záznamy z niektorej z tabuliek, ak v druhej tabuľke neexistuje zodpovedajúci záznam, klauzula FROM môže vyzerať takto (do príkladu bol pridaný zlom riadka, aby bol čitateľnejší):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

V Accesse sa údaje spájajú v klauzule FROM príkazu SELECT. Existujú dva typy spojení: vnútorné a vonkajšie. Jednotlivé typy spojení sú vysvetlené v nasledujúcich častiach.

Vnútorné spojenia

Vnútorné spojenia sú najčastejším typom spojenia. Po spustení dotazu s vnútorným spojením sa do výsledkov dotazu zahrnú len záznamy, ktoré majú v oboch spájaných tabuľkách spoločnú hodnotu.

Vnútorné spojenie má nasledujúcu syntax (do príkladu bol pridaný zlom riadka, aby bol čitateľnejší):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Nasledujúca tabuľka popisuje rôzne časti operácie INNER JOIN.

Časť

Popis

tabuľka1 , tabuľka2

Názvy tabuliek, ktorých záznamy sa spájajú.

pole1 , pole2

Názvy spojených polí. Ak nie sú číselné, musia mať rovnaký typ údajova obsahovať rovnaký druh údajov, ale nemusia mať rovnaký názov.

compopr

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

Vonkajšie spojenia

Vonkajšie spojenia sa podobajú vnútorným spojeniam, pretože dotaz informujú o tom, ako má skombinovať informácie z dvoch zdrojov. Líšia sa však tým, že určujú, či sa majú zahrnúť údaje, pre ktoré neexistuje žiadna spoločná hodnota. Vonkajšie spojenia rozlišujú smer: môžete určiť, či sa majú zahrnúť všetky záznamy z prvého zdroja údajov zadaného v spojení (tzv. ľavé spojenie) alebo či sa majú zahrnúť všetky záznamy z druhého zdroja údajov zadaného v spojení (tzv. pravé spojenie).

Vonkajšie spojenie má takúto syntax:

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

V nasledujúcej tabuľke sú popísané rôzne časti operácií LEFT JOIN a RIGHT JOIN.

Č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 „<>“.

Ďalšie informácie o spojeniach nájdete v článku Spojenie tabuliek a dotazov.

Na začiatok stránky

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.

×