Data v tabulce máme – teď je z ní potřebujeme dostat ven. K tomu slouží nejpoužívanější SQL příkaz vůbec: SELECT. Řekne databázi, co chcete vidět, a ona vám to vrátí jako tabulku výsledků.
Základní SELECT
Nejjednodušší dotaz vytáhne všechny sloupce i řádky. Hvězdička * znamená „všechny sloupce":
SELECT * FROM produkty;
Když nechcete všechno, vyjmenujte jen sloupce, které vás zajímají:
SELECT nazev, cena FROM produkty;
Výsledek takového dotazu vypadá takhle:
| nazev | cena |
|---|---|
| Klávesnice | 790 |
| Myš | 350 |
WHERE – vyberte jen to, co chcete
Málokdy chcete úplně všechno. WHERE přidá podmínku a vrátí jen řádky, které jí vyhoví:
SELECT * FROM produkty WHERE skladem > 0;
SELECT * FROM produkty WHERE cena <= 500;
SELECT * FROM produkty WHERE nazev = 'Myš';
Všimněte si rozdílu: čísla se píšou rovnou (500), ale text patří do apostrofů ('Myš'). Porovnávat můžete přes =, >, <, >=, <= a „nerovná se" přes <>.
Když hledáte podle části textu, pomůže LIKE a znak % jako „cokoli":
SELECT * FROM produkty WHERE nazev LIKE 'Kláv%';
ORDER BY – seřaďte výsledek
Výsledek si necháte seřadit podle libovolného sloupce. ASC je vzestupně (od nejmenšího), DESC sestupně:
SELECT nazev, cena FROM produkty ORDER BY cena DESC;
Tenhle dotaz vypíše produkty od nejdražšího po nejlevnější.
LIMIT – jen pár řádků
Potřebujete třeba jen tři nejdražší produkty? LIMIT omezí počet vrácených řádků:
SELECT nazev, cena FROM produkty ORDER BY cena DESC LIMIT 3;
WHERE, pak ORDER BY, nakonec LIMIT. Takhle vznikne i dotaz typu „pět nejlevnějších produktů skladem".Časté chyby
- Text bez apostrofů.
WHERE nazev = Myšskončí chybou – musí být'Myš'. - Dvojité rovnítko. V SQL se porovnává jedním
=, ne==jako v jiných jazycích. - Prohozené pořadí.
LIMITpatří až na konec, zaORDER BY. Obráceně dotaz spadne.
Nechcete web řešit sami a chcete ho mít hotový a profesionální?
Podívejte se na tvorbu webů →© Ondřej Šteigl. Autorem návodů jsem já. Obsah je autorským dílem chráněným podle zákona č. 121/2000 Sb. (autorský zákon). Kopírování, přebírání nebo šíření bez mého předchozího písemného souhlasu je zakázáno. Výukové použití je vítáno – stačí uvést zdroj (osteigl.cz).