Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyDatabázové systémy v biomedicíně Základy SQL DML příkazy SELECT

Logo Matematická biologie

SELECT

Jazyk SQL je velice snadný, co se týká slovníku neboli klíčových slov. Nejjednodušší SQL příkaz obsahuje pouhá 2 klíčová slova.

SELECT * FROM jmeno_tabulky

Prvním slovem je jeden ze 4 uvedených příkazů (SELECT), následuje operátor hvězdička (*), kterým říkáme, že chceme získat všechny sloupce tabulky. Druhé klíčové slovo (FROM) uvozuje název tabulky, ze které chceme data získat. Místo operátoru * můžeme zapsat názvy sloupců oddělené čárkou.

SELECT jmeno_sloupce1, jmeno_sloupce2 FROM jmeno_tabulky

Po spuštění toho dotazu nám databáze zobrazí všechny řádky zvolené tabulky. Pokud chceme zobrazení omezit jen na vybrané řádky, použijeme další klíčové slovo WHERE a specifikujeme omezující podmínku. Podmínku tvoří název sloupce, operátor a případně konstanta. Dotaz pak má podobu

SELECT * FROM jmeno_tabulky WHERE jmeno_sloupce1 = 10

nebo

SELECT * FROM jmeno_tabulky WHERE jmeno_sloupce1 = jmeno_sloupce2

První dotaz zobrazí pouze řádky, které mají ve sloupci jmeno_sloupce1 uloženu 10, druhý dotaz zobrazí pouze řádky, které obsahují stejnou hodnotu ve sloupci jmeno_sloupce1 a jmeno_sloupce2. Podmínek je možné specifikovat více, oddělují se pomocí logických operátorů AND a OR.
Zobrazený seznam je možné nechat setřídit dle vybraných sloupců. Jejich seznam specifikujeme na konci dotazu za klíčové slovo ORDER BY. Výchozí je třídění vzestupně, pokud chceme třídit podle některého sloupce sestupně, doplníme klíčové slovo DESC za název sloupce. Názvy sloupců opět oddělujeme čárkou.

SELECT * FROM jmeno_tabulky WHERE jmeno_sloupce1 = jmeno_sloupce2

ORDER BY jmeno_sloupce DESC, jmeno_sloupce2

Kromě výpisu uložených dat umožňuje příkaz SELECT získat základní sumární údaje o obsahu tabulek. K tomuto slouží agregační funkce, které použijeme místo nebo v kombinaci s názvem sloupce. Pro zjištění počtu řádků použijeme funkci COUNT. Tuto funkci lze použít ve třech podobách:

SELECT COUNT(*), COUNT(sloupec1), COUNT (DISTINCT sloupec1) FROM tabulka1

První varianta s hvězdičkou spočítá celkový počet řádků v tabulce1, druhá forma spočítá řádky, které ve sloupci sloupec1 obsahují hodnotu (jsou neprázdné), třetí forma s klíčovým slovem DISTINCT spočítá počet unikátních hodnot ve sloupci sloupec1. Mějme tabulku se třemi řádky:

sloupec 1
sloupec 2
Ano
1
Ano
2
 
3

Výsledek dotazu bude 3, 2, 1, tedy 3 řádky celkem, 2 neprázdné řádky, 1 unikátní hodnota ('Ano'). 
Mezi agregační funkce patří dále MAX, MIN, AVG, SUM, které pro daný sloupec vypočítají maximum, minimum, aritmetický průměr a celkový součet. Minimum a maximum lze použít pro všechny datové typy (u textových sloupců vrací funkce první a poslední záznam dle abecedy), průměr a sumaci lze počítat pouze nad číselnými datovými typy. 

 

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity