Tento článek je součástí sady o jazyku SQL v Accessu. Vysvětluje, jak napsat klauzuli SELECT a ukazuje příklady technik, které můžete použít.
Přehled jazyka SQL v Accessu najdete v článku Jazyk SQL v Accessu: základní koncepty, slovník a syntaxe.
V tomto článku
- Výběr polí: klauzule SELECT
- Výběr všech polí
- Výběr rozdílných hodnot
- Použití zástupných názvů pro pole nebo výrazy: klíčové slovo AS
- Výběr pomocí výrazu
Výběr polí: klauzule SELECT
Příkaz SELECT obvykle začíná klauzulí SELECT . Pomocí klauzule určete pole obsahující data, která chcete v dotazu mít. Místo polí nebo kromě polí můžete také použít výrazy. Jako pole můžete dokonce použít jiný SELECT příkaz. Tomu se říká poddotaz.
Dejme tomu, že chcete znát telefonní čísla svých zákazníků. Pokud má pole, ve kterém jsou tato čísla uložená, název txtCustomerPhone, vypadá klauzule SELECT takto:
SELECT [txtCustomerPhone]
Název můžete uzavřít do hranatých závorek. Pokud název neobsahuje mezery ani speciální znaky, jsou závorky nepovinné. Pokud ano, musíte je použít.
Tip:
Název, který obsahuje mezery, je srozumitelnější a dokáže vám při návrhu formulářů a sestav ušetřit čas, musíte se ale smířit s tím, že při vytváření příkazů SQL budete hodně psát. Při pojmenování objektů v databázi Accessu byste tuto skutečnost měli vzít do úvahy.
Pokud příkaz SQL obsahuje dvě nebo více polí se stejným názvem, přidejte do klauzule SELECT názvy zdroje dat jednotlivých polí. Použijte stejný název zdroje dat, jaký používáte v FROM klauzuli.
Výběr všech polí
Pokud chcete zahrnout všechna pole z nějakého zdroje dat, můžete je v klauzuli vypsat jednotlivě SELECT nebo použít zástupný znak hvězdička (*). Když použijete hvězdičku, Access určí, která pole zdroj dat při spuštění dotazu obsahuje, a zahrne je všechny. To pomáhá udržet dotaz aktuální, když se do zdroje dat přidají nová pole.
V příkazu SQL můžete hvězdičku použít u jednoho nebo několika zdrojů dat. Pokud hvězdičku použijete u více zdrojů dat, zahrňte mezi hvězdičku název zdroje dat, aby Access mohl určit, který zdroj použít.
Předpokládejme například, že chcete vybrat všechna pole z Orders tabulky, ale pouze e-mailovou adresu z Contacts tabulky. Vaše SELECT klauzule může vypadat třeba takto:
SELECT Orders.*, Contacts.[E-mail Address]
Poznámka
Nezapomeňte sledovat, kde jste hvězdičku použili. Pokud někdo později přidá do zdroje dat nová pole, s kterými jste nepočítali, nemusí výsledky dotazu odpovídat vašim představám.
Výběr rozdílných hodnot
Pokud víte, že váš příkaz vrátí duplicitní data a chcete zobrazit jenom rozdílné hodnoty, použijte DISTINCT klíčové slovo v SELECT klauzuli. Pokud například některé zájmy zákazníků používají stejné telefonní číslo, zajistěte, DISTINCT aby se každé telefonní číslo zobrazilo jenom jednou:
SELECT DISTINCT [txtCustomerPhone]
Použití zástupných názvů pro pole nebo výrazy: klíčové slovo AS
Popisek, který se zobrazí u libovolného pole v zobrazení Datový list, můžete změnit pomocí klíčového AS slova a aliasu pole v SELECT klauzuli. Alias pole je název, který přiřadíte nějakému poli v dotazu, aby byly výsledky srozumitelnější. Pokud například chcete vybrat data z pole s názvem txtCustPhone, můžete pomocí aliasu pole zlepšit srozumitelnost výsledků:
SELECT [txtCustPhone] AS [Customer Phone]
Poznámka
Alias pole musíte použít, když v klauzuli použijete výraz SELECT .
Výběr pomocí výrazu
Někdy se chcete podívat na výpočty založené na datech nebo vrátit jenom část hodnoty pole. Předpokládejme například, že na základě dat v BirthDate poli chcete vrátit rok, ve kterém se narodili vaši zákazníci. Vaše SELECT klauzule může vypadat třeba takto:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Tento výraz používá funkci DatePart a dva argumenty: "yyyy" (konstantu) a [BirthDate] (identifikátor).
Jako pole můžete použít libovolný platný výraz, pokud vrací jednu vstupní hodnotu.