Jazyk SQL v Accessu: klauzule SELECT

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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.

Zpět na začátek