headerphoto

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ínkaUžitíVýznam
=sloupec = hodnotaVyberou se ty řádky, které mají v sloupci zadanou hodnotu
<>sloupec <> hodnotaVyberou se ty řádky, které nemají v sloupci zadanou hodnotu
!=sloupec != hodnotaTo samé jako <>, jen jinak zapsáno.
<sloupec < hodnotaVyberou se ty řádky, které mají v sloupci menší hodnotu, než je hodnota v podmínce.
>sloupec > hodnotaVyberou se ty řádky, které mají v sloupci větší hodnotu, než je hodnota v podmínce.
<=sloupec <= hodnotaVyberou se ty řádky, které mají v sloupci menší nebo stejnou hodnotu, jako je hodnota v podmínce.
>=sloupec >= hodnotaVyberou se ty řádky, které mají v sloupci větší nebo stejnou hodnotu, jako je hodnota v podmínce.
IS NULLsloupec IS NULLVyberou se ty řádky, které mají v sloupci hodnotu NULL
IS NOT NULLsloupec IS NOT NULLVyberou se ty řádky, které nemají v sloupci hodnotu NULL
LIKEsloupec 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;
Design downloaded from Free Templates - your source for free web templates