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 ani š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
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.

×