Jazyka SQL aplikace Access: základní koncepty, slovník a syntaxe

Jazyka SQL aplikace Access: základní koncepty, slovník a syntaxe

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Když budete chtít načtení dat z databáze, můžete se zeptají data pomocí Structured Query Language nebo SQL. SQL je počítač jazyk, který podobá angličtina, ale pochopit databázových programů. Každý, kdy spustíte dotaz používá SQL na pozadí.

Vysvětlení, jak funguje SQL vám pomohou vytvořit lepší dotazy a může být snadněji pochopit, jak opravit dotaz, který se nevrací žádné výsledky, které chcete.

To je jedním ze sady články o Access SQL. Tento článek popisuje základní použití SQL vybrat data a pomocí příklady ilustrují syntaxe jazyka SQL.

V tomto článku

Co je SQL?

Základní používaných klauzulí SQL: SELECT, FROM a kde

Řazení výsledků: podle pořadí

Práce s souhrnná data: Seskupit podle a HAVING

Sloučení výsledků dotazu: UNION

Co je SQL?

SQL je počítač jazyk pro práci s sady fakt a vztahů mezi nimi. Relační databáze aplikací, jako je Microsoft Office Access pomocí jazyka SQL pro práci s daty. Na rozdíl od spousty jazyků počítač není SQL snadné čtení a interpretaci i pro novým. Jako spousty jazyků počítače je SQL mezinárodní standard rozpoznaný standardy orgány například ISO a ANSI.

Pomocí jazyka SQL pro popis sady dat, která mohou vám pomoci zodpovědět. Pokud používáte SQL, je nutné použít správné syntaxe. Syntaxe je sada pravidel, kterými prvky jazykem zkombinují správně. Syntaxe jazyka SQL se podle anglické syntaxe a používá spoustu jeden prvek jako Visual Basic syntaxi Applications (VBA).

Příklad jednoduchého příkazu SQL, která vrací seznam příjmení kontaktů, jehož pole jméno neobsahuje Mary může vypadat takto:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Poznámka : SQL nepoužívá pouze pro manipulaci s daty, ale taky pro vytváření a změny návrhu databázových objektů, jako jsou tabulky. Část SQL, který se používá k vytváření a změny databázových objektů se nazývá definiční jazyk DDL (). Toto téma nezabývá DDL. Další informace najdete v článku Vytvořit nebo změny tabulek nebo indexů pomocí definičního dotazu.

Příkazy SELECT

Chcete-li popisují množiny dat pomocí jazyka SQL, napište příkazu SELECT. Příkaz SELECT obsahuje podrobný popis sady dat, která chcete získat z databáze. Tato volba zahrnuje následující:

  • K čemu tabulek s daty.

  • Jak souvisí data z různých zdrojů.

  • Pole nebo výpočty vytvoří data.

  • Kritéria, která data se musí shodovat je však započítávány.

  • Jestli a jak řazení výsledků.

Klauzule SQL

Stejně jako větu má příkazu SQL klauzulí. Každý klauzule provádí funkce příkazu SQL. Některé klauzule vyžadovaných v příkazu SELECT. Následující tabulka uvádí nejběžnější používaných klauzulí SQL.

Klauzule SQL

Akce

Povinné

SELECT

Uvádí seznam polí obsahujících požadovaná data.

Ano

FROM

Uvádí seznam tabulek obsahujících pole uvedená v klauzuli SELECT.

Ano

WHERE

Slouží k zadání kritérií pole, která musí každý záznam splnit, aby byl zahrnut do výsledků.

Ne

ORDER BY

Určuje způsob řazení výsledků.

Ne

GROUP BY

V příkazu SQL obsahujícím agregační funkce uvádí seznam polí, která nejsou sumarizována v klauzuli SELECT.

Pouze pokud taková pole existují.

HAVING

V příkazu SQL obsahujícím agregační funkce určuje podmínky, které platí pro pole sumarizovaná příkazem SELECT.

Ne

Podmínky SQL

Každý klauzule SQL se skládá z podmínek – srovnatelná s částí řeči. V následující tabulce jsou uvedeny typy termínů SQL.

Lexikální jednotka SQL

Srovnatelná slovní

Definice

Příklad

identifikátor

Jmenná

Název použitý k identifikaci databázového objektu, jako je název pole.

Zákazníci. [Telefonní číslo]

Operátor

slovesné nebo příslovce

Klíčové slovo, které představuje nebo mění akci

AS

konstanta

Jmenná

Hodnota, která se nemění, například číslo nebo hodnota Null

42

výraz

přídavná jména

Kombinace identifikátorů, operátorů, konstant a funkcí, která je vyhodnocena jako jediná hodnota

>= Produkty.[Jednotková cena]

Začátek stránky

Základní používaných klauzulí SQL: SELECT, FROM a kde

Dotaz SQL podobu Obecné:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Poznámky : 

  • Aplikace Access ignoruje konce řádků v příkazu SQL. Ale zvažte použití řádek pro každou klauzuli ke zlepšení čitelnosti příkazy SQL pro sebe i ostatní.

  • Každý výběrový příkaz končí středník (;). Na konci příkazu SQL mohou zobrazovat středník na konci klauzule poslední nebo na řádku samostatně.

Příklad v aplikaci Access

Níže je znázorněn příkaz jazyka SQL pro jednoduchý výběrový dotaz může vypadat podobně jako v aplikaci Access:

Karta objektu SQL zobrazující příkaz SELECT

1. klauzule SELECT

2. klauzule FROM

3. klauzule WHERE

Tento příklad příkazu SQL načte "Select daty uloženými v polích s názvem e-mailová adresa a firma v tabulce s názvem Kontakty, konkrétně záznamů, ve kterých pole Město hodnotu ze Seattlu."

Podívejme se na příklad jeden klauzule najednou, jak funguje syntaxe jazyka SQL.

Klauzule SELECT

SELECT [E-mail Address], Company

Toto je klauzuli SELECT. Je tvořen operátor (Vybrat) a za ním uveďte dva identifikátory ([e-mailová adresa] a firma).

Pokud identifikátor obsahuje mezery ani speciální znaky (například "e-mailovou adresu"), musí být uzavřeny do hranatých závorek.

Klauzule SELECT nemá na tabulky, které obsahují pole a nelze zadat všech podmínek, které musí být splněná podle data, která chcete zahrnout.

Klauzule SELECT se zobrazí vždy před klauzule FROM v příkazu SELECT.

Klauzule FROM

FROM Contacts

Toto je klauzule FROM. Je tvořen operátor (z) a za ním uveďte identifikátor (kontakty).

Klauzule FROM a neobsahuje seznam polí, která mají být zaškrtnuté.

Klauzule WHERE

WHERE City="Seattle"

Toto je klauzule WHERE. Je tvořen operátor (je-li) a za ním uveďte výraz (Město = "Olomouc").

Poznámka : Na rozdíl od vyberte a od klauzule klauzule WHERE je povinný prvek příkazu SELECT.

Je možné provádět spoustu akce, které SQL umožňuje s použitím SELECT, FROM a WHERE klauzulí. Další informace o použití těchto klauzule jsou uvedeny v tyto další články:

Začátek stránky

Řazení výsledků: podle pořadí

Stejně jako v Microsoft Excelu, aplikace Access vám umožní řazení výsledků dotazu v datovém listu. Můžete taky zadáte v dotazu způsob řazení výsledků při spuštění dotazu pomocí klauzule ORDER. Pokud používáte klauzule ORDER, je poslední klauzule v příkazu SQL.

Klauzule ORDER obsahuje seznam polí, která chcete použít k řazení ve stejném pořadí, který chcete použít operace řazení.

Předpokládejme například, mají výsledky seřazené nejdříve podle hodnoty pole společnosti v sestupném pořadí a – pokud jsou záznamy stejné hodnoty pro firmy – další seřazené podle hodnot v poli e-mailovou adresu ve vzestupném pořadí. Vaše klauzule ORDER by vypadat takto:

ORDER BY Company DESC, [E-mail Address]

Poznámka : Ve výchozím nastavení řazení hodnot vzestupně (A-Z, od nejmenšího k největšímu). Použití klíčového slova DESC seřadit sestupně podle hodnoty.

Další informace o klauzule ORDER BY naleznete v tématu Příkazem pořadí.

Začátek stránky

Práce s souhrnná data: Seskupit podle a HAVING

Někdy budete chtít práce se souhrnnými daty, například celkové prodeje za měsíc nebo nejčastěji drahé položek v inventární. K tomuto účelu použijete Agregační funkce pole v klauzuli SELECT. Například pokud má váš dotaz zobrazíte počet hodnot v e-mailové adresy uvedené u každé společnosti klauzuli SELECT může vypadat takto:

SELECT COUNT([E-mail Address]), Company

Agregační funkce, které můžete použít, závisí na typu dat, která je do pole nebo výraz, který chcete použít. Další informace o dostupných agregačních funkcí naleznete v článku Agregační funkce jazyka SQL.

Určení pole, které nejsou použity v agregační funkce: klauzuli GROUP BY

Při použití funkce agregace obvykle musíte taky vytvořit klauzuli GROUP BY. Klauzule GROUP BY obsahuje všechna pole, ke kterým jste se nevztahují agregační funkce. Pokud použijete agregační funkce jazyka všechna pole v dotazu, není nutné vytvořit klauzuli GROUP BY.

Klauzule GROUP BY následuje klauzule WHERE nebo klauzule FROM při žádné klauzuli WHERE. Klauzule GROUP BY uvádí seznam polí zobrazené v klauzuli SELECT.

Například pokračovat v předchozím příkladu, pokud klauzuli SELECT se týká agregační funkce [e-mailová adresa], ale ne společnosti, klauzuli GROUP BY bude vypadat takto:

GROUP BY Company

Další informace o klauzuli GROUP BY naleznete v tématu Příkazem skupiny.

Omezení souhrnné hodnoty pomocí kritéria seskupit: klauzule HAVING

Pokud chcete použít kritéria ke omezit výsledky, ale pole, které chcete použít kritéria, která se používá v agregační funkci, nelze použít klauzuli WHERE. Místo toho použít klauzuli HAVING. Klauzule HAVING funguje jako klauzuli WHERE, ale slouží k souhrnné údaje.

Předpokládejme například, použijte funkci průměr, (které vypočítá průměrnou hodnotu) s na první pole v klauzuli SELECT:

SELECT COUNT([E-mail Address]), Company

Když budete chtít dotazu pro omezení výsledků na základě hodnoty, které funkce COUNT, nelze používat kritéria pro toto pole v klauzuli WHERE. Místo toho přepnutím kritéria v klauzuli HAVING. Například pokud chcete jenom dotaz vrátí řádky, pokud existuje více než jeden e-mailové adresy přidružené společnosti, klauzule HAVING může vypadat takto:

HAVING COUNT([E-mail Address])>1

Poznámka : Dotaz může obsahovat klauzuli WHERE a klauzuli HAVING – kritéria pro pole, která nepoužívaná ve agregační funkce přejděte v klauzuli WHERE a kritéria pro pole, která se používají s agregační funkce jazyka přejděte v klauzuli HAVING.

Další informace o klauzule HAVING naleznete v tématu Potíže klauzule.

Začátek stránky

Sloučení výsledků dotazu: UNION

Pokud chcete provést revizi všechna data, která vám vrátil několika podobné výběrových dotazů společně jako kombinovanou sadu pomocí operátoru UNION.

Operátor SJEDNOCENÍ dovoluje kombinovat jakékoli dva příkazy SELECT do jedné. Příkazy SELECT se kombinující musí mít stejný počet výstupní pole ve stejném pořadí a pomocí stejného nebo kompatibilního datového typu. Když spustíte dotaz, data ze všech sadách odpovídající pole jsou sloučena do jednoho výstupní pole tak, aby výstup dotazu má stejný počet polí jako každý z vyberte příkazy.

Poznámka : Pro účely sjednocovacího dotazu jsou datové typy Číslo a Text kompatibilní.

Při použití operátoru UNION můžete taky určit, zda výsledků dotazu by měl obsahovat duplicitní řádky, pokud existuje, pomocí všechny klíčové slovo.

Základní syntaxe jazyka SQL pro sjednocovacího dotazu, který kombinuje dva příkazy SELECT vypadá takto:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Předpokládejme například, že máte v tabulce s názvem produkty a druhou tabulku s názvem služby. Obou tabulek obsahovat pole, která obsahují název produktu nebo služby, cena, záruky nebo zajištění dostupnosti, a zda nabízejí produkt nebo službu výhradně. I když tabulky produkty informacemi záruky a ukládá tabulku služba zaručit informace, základní informace odpovídá (jestli určitý produkt nebo službu zahrnuje příslibem kvality). Sloučit čtyři pole ze dvou tabulek můžete použít sjednocovacího dotazu, například následující akci:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Další informace o tom, jak kombinovat příkazy SELECT pomocí operátoru UNION najdete v tématu sloučení výsledků několika výběrových dotazů pomocí sjednocovacího dotazu.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×