Spresnenie výsledkov dotazu úpravou SQL príkazov

Spresnenie výsledkov dotazu úpravou SQL príkazov

Dôležité : Tento článok je strojovo preložený, prečítajte si vyhlásenie. Anglickú verziu tohto článku nájdete tu a môžete ju použiť ako referenciu.

Ak dotazy nie sú dosť presné, výsledky môžete spresniť pridaním niektorých základných SQL príkazov. Pozrime sa na niekoľko typov SQL príkazov a klauzúl alebo častí, po úprave ktorých by ste mohli získať požadované výsledky.

Poznámka : Tento článok sa nevzťahuje na accessové webové aplikácie – druh databázy, ktorý navrhujete pomocou Accessu a publikujete online. Ďalšie informácie nájdete v téme Vytvorenie accessovej aplikácie.

Obsah článku

Vytvorenie príkazu Select

Prispôsobenie klauzuly SELECT

Prispôsobenie klauzuly FROM

Prispôsobenie klauzuly WHERE

Prispôsobenie pomocou operátora UNION

Vytvorenie príkazu Select

SQL príkaz Select obsahuje dve alebo tri klauzuly. Klauzula SELECT databáze určuje, kde sa majú hľadať údaje, a požaduje vrátenie konkrétneho výsledku.

Poznámka : Príkaz SELECT vždy končí bodkočiarkou (;) buď na konci poslednej klauzuly, alebo v samostatnom riadku na konci SQL príkazu.

Nasledujúci príkaz Select požaduje, aby Access získal informácie zo stĺpcov E-mailová adresa a Spoločnosť, z tabuľky Kontakty a konkrétne zo stĺpca Mesto, v ktorom nájde výraz Seattle.

Karta SQL objektu zobrazujúca príkaz SELECT

Vyššie uvedený dotaz obsahuje tri klauzuly, SELECT, FROM a WHERE.

1. Klauzula SELECT uvádza stĺpce obsahujúce údaje, ktoré chcete použiť, a obsahuje operátor (SELECT), za ktorým nasledujú dva identifikátory (E-mailová adresa a Spoločnosť). Ak identifikátor obsahuje medzery alebo špeciálne znaky (napríklad E-mailová adresa), dajte ho do hranatých zátvoriek.

2. Klauzula FROM identifikuje zdrojovú tabuľku. V tomto príklade po operátori (FROM) nasleduje identifikátor (Kontakty).

3. Klauzula WHERE je voliteľná klauzula. V príklade po operátore (WHERE) nasleduje výraz (Mesto="Seattle").

Ďalšie informácie o výberových dotazov nájdete v téme Vytvorenie jednoduchého výberového dotazu.

Uvádzame zoznam bežných SQL klauzúl:

SQL klauzula

Jej funkcia

Povinné ?

SELECT

Uvádza polia s relevantnými údajmi.

Áno

FROM

Uvádza tabuľky, ktoré obsahujú polia uvedené v klauzule SELECT.

Áno

WHERE

Uvádza kritériá pre polia, ktoré musí spĺňať každý záznam, ak sa má zahrnúť do výsledkov.

Nie

ORDER BY

Určuje spôsob zoradenia výsledkov.

Nie

GROUP BY

V SQL príkaze obsahujúcom agregačné funkcie uvádza polia, ktoré nie sú sumarizované v rámci klauzuly SELECT.

Iba ak existujú takéto polia

HAVING

V SQL príkaze obsahujúcom agregačné funkcie určuje podmienky vzťahujúce sa na polia, ktoré nie sú sumarizované v rámci príkazu SELECT.

Nie

Každá SQL klauzula pozostáva z výrazov. Uvádzame zoznam niektorých bežných SQL výrazov.

SQL výraz

Definícia

Príklad

identifikátor

Názov, ktorý používate na identifikáciu databázového objektu, napríklad názov stĺpca.

[E-mailová adresa] a Spoločnosť

operátor

Kľúčové slovo reprezentujúce akciu alebo upravujúce akciu.

AS

konštanta

Hodnota, ktorá sa mení, napríklad číslo alebo NULL.

42

výraz

Kombinácia identifikátorov, operátorov, konštánt a funkcií, ktorá sa vyhodnotí ako jedna hodnota.

>= Produkty.[Jednotková cena]

Na začiatok stránky

Prispôsobenie klauzuly SELECT

Prispôsobenie

Príklad

Chcete zobraziť len rôzne hodnoty.

V klauzule SELECT použite kľúčové slovo DISTINCT.

Ak napríklad zákazníci pracujú vo viacerých rôznych pobočkách, niektorí majú rovnaké telefónne číslo a vy chcete telefónne číslo zobraziť iba raz, vaša klauzula SELECT bude vyzerať takto:

SELECT DISTINCT [txtCustomerPhone] 

Na zlepšenie čitateľnosti chcete zmeniť spôsob, akým sa identifikátor zobrazuje v údajovom zobrazení.

Použite operátor AS (kľúčové slovo, ktoré predstavuje alebo upravuje akciu) s aliasom poľa v klauzule SELECT. Alias poľa je názov, ktorý priradíte k poľu, aby boli výsledky čitateľnejšie.

SELECT [txtCustPhone] AS [Customer Phone]

Prispôsobenie klauzuly FROM

Prispôsobenie

Príklad

Môžete použiť alias tabuľky alebo iný názov, ktorý priradíte k tabuľke v príkaze Select. Alias tabuľky je užitočný, ak je názov tabuľky dlhý, alebo keď vo viacerých tabuľkách existujú viaceré polia s rovnakým názvom.

Chcete vybrať údaje z dvoch polí, ktoré majú obe názov ID, pričom jedno pochádza z tabuľky tblZákazník a druhé z tabuľky tblObjednávka:

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

Na definovanie aliasov tabuliek v klauzule FROM použite identifikátor AS:

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

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

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

Použite spojenia, ak chcete skombinovať páry záznamov z dvoch zdrojov údajov do jedného výsledku alebo určiť, či sa majú záznamy z ľubovoľnej tabuľky zahrnúť, ak sa v súvisiacej tabuľke nenachádza zodpovedajúci záznam.

Spojte tabuľky tak, aby dotaz skombinoval ich položky okrem položiek, pre ktoré neexistuje zodpovedajúci záznam v inej tabuľke

Klauzula FROM by mohla vyzerať takto:

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

Používanie spojení

Existujú dva typy spojení, vnútorné a vonkajšie spojenia. Vnútorné spojenia sú bežnejšie v dotazoch. Keď spustíte dotaz s vnútorným spojením, vo výsledku sa zobrazia iba tie položky, kde spoločná hodnota existuje v oboch spojených tabuľkách.

Vonkajšie spojenia určujú, či sa majú zahrnúť údaje tam, kde neexistujú bežné hodnoty. Vonkajšie spojenia sú smerové. To znamená, že môžete určiť, či sa majú zahrnúť všetky záznamy z prvej tabuľky zadanej v spojení (nazývanej ľavé spojenie) alebo sa majú zahrnúť všetky záznamy z druhej tabuľky v spojení (nazývanej pravé spojenie). Vonkajšie spojenie má takúto SQL syntax:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Prečítajte si ďalšie informácie používaní spojení v dotaze.

Na začiatok stránky

Prispôsobenie klauzuly WHERE

Klauzula WHERE obsahuje kritériá, ktorý pomáha obmedziť počet položiek, ktoré sú vrátené v dotaze. Pozrite si príklady kritérií dotazu a ako fungujú.

Základnú klauzulu WHERE môžete prispôsobiť napríklad na obmedzenie výsledkov dotazu. Predpokladajme, že chcete nájsť telefónne číslo zákazníka a pamätáte si iba, že jeho priezvisko je Beňo. V tomto príklade sú priezviská uložené v poli Priezvisko, preto SQL syntax bude vyzerať takto:

WHERE [LastName]='Bagel'

Pomocou klauzuly WHERE tiež kombinovať zdroje údajov pre stĺpce, ktoré majú zhodné údaje, ale rôznych typov údajov. Toto sa hodí keďže nie je možné vytvoriť spojenie medzi poľami s rôznymi typmi údajov. Pomocou jedného poľa ako kritérium pre iné pole, pomocou kľúčového slova LIKE . Napríklad, ak chcete použiť údaje z tabuľky aktíva a zamestnanci, len vtedy, keď typu aktíva v majetku zadajte pole tabuľky materiály obsahuje číslo 3 v poli množstvo Tabuľka zamestnanci, tu je ako bude vyzerať vaše klauzula WHERE:

WHERE field1 LIKE field2

Dôležité :  V klauzule WHERE nemôžete zadať kritériá pre pole, ktoré sa používa s agregačnou funkciou. Namiesto toho na zadanie kritérií pre agregované polia použite klauzulu HAVING .

Na začiatok stránky

Prispôsobenie pomocou operátora UNION

Operátor UNION použite, keď chcete naraz zobraziť výsledky z viacerých podobných dotazov Select. Ak napríklad databáza obsahuje tabuľku Produkty a tabuľku Služby a obe tabuľky obsahujú tri polia: výhradná ponuka alebo produkt alebo služba, cena, záruka alebo ručenie. Hoci tabuľka Produkty obsahuje informácie o záruke a tabuľka Služby informácie o ručení, základné informácie sú rovnaké. Na skombinovanie troch polí z dvoch tabuliek môžete použiť napríklad tento zjednocovací dotaz:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Po spustení dotazu sa údaje zo všetkých skupín zodpovedajúcich polí skombinujú do jedného výstupného poľa. Ak chcete do výsledkov zahrnúť duplicitné riadky, použite operátor ALL.

Poznámka :  Príkaz Select musí mať rovnaký počet výstupných polí, v rovnakom poradí a s rovnakými alebo kompatibilnými typmi údajov. Na účely zjednocovacieho dotazu sú typy údajov Číslo a Text kompatibilné.

Ďalšie informácie o zjednocovacích dotazoch nájdete v téme použitie zjednocovacieho dotazu na zobrazenie jednotného výsledku z viacerých dotazov.

Na začiatok stránky

Poznámka : Vyhlásenie týkajúce sa strojového prekladu: Tento článok bol preložený počítačovým systémom bez zásahu človeka. Poskytovaním týchto strojových prekladov umožňuje spoločnosť Microsoft aj používateľom, ktorí nehovoria po anglicky, využívať obsah o produktoch, službách a technológiách spoločnosti Microsoft. Článok bol preložený strojovo, môže preto obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky.

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.

×