SELECT
Výběr sloupců
Slouží k vybrání řádků a sloupců z tabulky. Znak ‘*‘ nahrazuje výpis všech jmen sloupců
student=> SELECT * FROM telefoni_seznam; jmeno | prijmeni | telefon -------+----------+---------- Karel | Novák | 22222222 Jan | Holý | 22222221 Ivo | Dlouhý | 22222223
Pokud chceme změnit název nějakého sloupce, pak jej můžete nechat vytisknout pod jiným jménem pomocí AS. (Jméno sloupce v tabulce se nezmění).
student=> SELECT jmeno AS prezdivka,prijmeni FROM telefoni_seznam; prezdivka | prijmeni ----------+---------- Karel | Novák Jan | Holý Ivo | Dlouhý
Můžeme vytvořit nový sloupec, který bude obsahovat (pozměněné) hodnoty z jiného sloupce.
prodejna=> SELECT nazev, cena_za_ks,počet_ks, cena_za_ks * počet_ks AS cena_celkem FROM vyrobek;
Cena_celkem není definována v tabulce výrobek.
Podmínka WHERE
Určuje, jaké hodnoty v jakých sloupcích řádku mají být, aby se na řádek aplikoval SQL příkaz, který podmínku WHERE použil.
prodejna=> SELECT * FROM vyrobek WHERE počet_ks>10;
Existují následující podmínky za WHERE:
Podmínka | Užití | Význam |
= | sloupec = hodnota | Vyberou se ty řádky, které mají v sloupci zadanou hodnotu |
<> | sloupec <> hodnota | Vyberou se ty řádky, které nemají v sloupci zadanou hodnotu |
!= | sloupec != hodnota | To samé jako <>, jen jinak zapsáno. |
< | sloupec < hodnota | Vyberou se ty řádky, které mají v sloupci menší hodnotu, než je hodnota v podmínce. |
> | sloupec > hodnota | Vyberou se ty řádky, které mají v sloupci větší hodnotu, než je hodnota v podmínce. |
<= | sloupec <= hodnota | Vyberou se ty řádky, které mají v sloupci menší nebo stejnou hodnotu, jako je hodnota v podmínce. |
>= | sloupec >= hodnota | Vyberou se ty řádky, které mají v sloupci větší nebo stejnou hodnotu, jako je hodnota v podmínce. |
IS NULL | sloupec IS NULL | Vyberou se ty řádky, které mají v sloupci hodnotu NULL |
IS NOT NULL | sloupec IS NOT NULL | Vyberou se ty řádky, které nemají v sloupci hodnotu NULL |
LIKE | sloupec LIKE 'retezec' | Vyberou se ty řádky, kde ve sloupci (s datovým typem řetězec) odpovídá hodnota řetězci za klíčovým slovem LIKE. Tento řetězec může obsahovat dva zástupné znaky. % (procento) zastupuje řetězec libovolné délky (i délky 0) s libovolnými znaky. _ (podtržítko) zastupuje právě jeden libovolný znak. Například podmínka WHERE sloupec LIKE '_%A' vybere ty sloupce, kde je řetězec končící písmenem velké A a který má před ním minimálně jeden (libovolný) znak. |
IN (ALL,ANY...) | sloupec IN (množina hodnot) |
AND
Chcete-li pro výběr řádků použít více podmínek najednou, spojte je klíčovým slovem AND Vyberou se ty řádky, které splňují všechny podmínky.
OR
Pomocí klíčového slova OR vyberete ty řádky, které splňují jednu z podmínek spojených tímto klíčovým slovem. OR a AND můžeme také použít najednou, jejich prioritu je nejlepší určit závorkami.
ORDER BY
Způsobí setřídění řádků podle nějakého sloupce (abecedně nebo podle velikosti čísel). ORDER BY se píše až za podmínku WHERE. Setřídění probíhá implicitně vzestupně - ASC, nebo můžete určit setřídění sestupné - DESC.
Výpis údajů podle podmínky setřízeno podle ceny za kus vzestupně.
prodejna=> SELECT * FROM vyrobek WHERE počet_ks>10 order by cena_za_ks;
Výpis údajů podle podmínky setřízeno podle ceny za kus sestupně.
prodejna=> SELECT * FROM vyrobek WHERE počet_ks>10 order by cena_za_ks DESC;
Třídit lze podle více sloupců než podle jednoho. V následujícím SELECTu setřídíme výsledek nejdříve podle počet_ks (sestupně) a tam, kde je počet kusů stejný, setřídíme záznam podle názvu (vzestupně). Priorita třídění je dána pořadím vyjmenování sloupců za klíčovými slovy ORDER BY.
prodejna=> SELECT * FROM vyrobek WHERE počet_ks>10 order by cena_za_ks DESC,nazev;
LIMIT
omezí výběr řádků z tabulky
prodejna=> SELECT * FROM vyrobek WHERE počet_ks>10 LIMIT 3;