Tato část je zaměřena na tvorbu základních SELECT dotazů. Dozvíte se, jak vybírat data z tabulek, jak je filtrovat, řadit a omezovat počty řádků.
Tato část je zaměřena na tvorbu základních SELECT dotazů. Dozvíte se, jak vybírat data z tabulek, jak je filtrovat, řadit a omezovat počty řádků.
Zjednodušená syntaxe příkazu SELECT je následující
Tato zjednodušená syntaxe neobsahuje všechny povolené části, ale jen ty nejčastěji využívané. Přehled všech možností příkazu SELECT naleznete v dokumentaci. Všimněte si, že pořadí jednotlivých částí příkazu SELECT odpovídá větné stavbě anglické věty. Níže jsou rozebrány jednotlivé části tohoto příkazu.
Tato část obsahuje seznamu sloupců, které má dotaz vrátit. Kromě samotných názvů sloupců zde mohou být i agregační funkce, které budou rozebrány v následující části seriálu. Znak * v této části značí výběr všech sloupců.
V této části jsou uvedeny všechny tabulky, z nichž se data načítají. Prozatím si vystačíme s jednou tabulkou. Možnosti načítání dat z více tabulek jsou popsány v částech věnovaných vnitřnímu a vnějšímu spojení.
Zde jsou uvedeny podmínky, které musí řádek splňovat, aby byl zahrnut ve výstupu. Řádky nesplňující tyto podmínky jsou zahozeny. Podmínky lze kombinovat pomocí běžných logických spojek (AND, OR…).
Slouží k rozdělení vybraných řádků do skupin. Seskupování je podrobněji probráno v následující části.
Tato část určuje pořadí řazení řádků ve výstupu. Pokud je zde uvedeno více sloupců, provádí se řazení postupně podle prvního, druhého, třetího atd.
Do SQL kódu je možné zapisovat i komentáře. Existují dvě možnosti - jednořádkové a víceřádkové. Jednořádkové komentáře jsou uvozeny dvěma pomlčkami, přičemž všechno za těmito pomlčkami až do konce řádku se považuje za komentář. Víceřádkové komentáře se uzavírají mezi /* a */. Okomentovaný kód tedy může vypadat následovně.
Data lze filtrovat v části WHERE. Zde lze zapisovat podmínky obsahující hodnoty v jednotlivých sloupcích daného řádku. Výrazy pro filtrování se tedy liší podle typu sloupce.
U číselných sloupců lze k tvorbě podmínek využívat operátory porovnání
> větší než
< menší než
= rovná se
!= nerovná se
<> nerovná se
Kromě toho lze používat i další operátory (IN, BETWEEN atd.), se kterými se seznámíte v této a následující části u konkrétních dotazů.
U sloupců typu datum a čas se používají také operátory porovnání, ale konstanty je nutné psát do apostrofů ve formátu odpovídajícímu nastavení lokálního prostředí databáze nebo ve formátu ISO8601, tedy 'yyyy-mm-ddThh:mm:ss'
U řetězců se konstanty rovněž zapisují do apostrofů. Kromě běžného porovnání existuje u řetězců také operátor LIKE, který umožňuje porovnání na shodu s konkrétním vzorem. V těchto vzorech lze využívat zástupné znaky (wildcards)
_ zastupuje libovolný znak
% zastupuje libovolný řetězec
Příklady užití těchto zástupných znaků najdete ve videu.
V prezentaci SQL2 - Samostatná práce naleznete příklady na procvičení znalostí získaných v této části. Na každém snímku je vždy zadání a po posunutí se zobrazí odpověď. Než se na odpověď podíváte, zkuste nejdřív přijít na řešení samostatně.
Projekt online vzdělávání byl realizován v rámci Stipendia Czechitas v projektu: „Ženy do IT“ (reg.č. CZ.03.1.51/0.0/0.0/16_061/0003268), který je financován z prostředků Evropského sociálního fondu prostřednictvím Operačního programu Zaměstnanost.