Pro výukové účely na SPŠ Zlín
vytvořil RNDr.Vladimír Vaščák


I. Základní dotazy

1. Vypsání všech sloupců tabulky

SELECT * FROM Zaci

2. Vypsání vyjmenovaných sloupců (příjmení a jméno) z tabulky

SELECT prijmeni, jmeno FROM Zaci

3. Dynamický sloupec (vytvoří nový sloupec z ostatních, např. datum + 18 roků )

SELECT prijmeni, jmeno, datum, (datum + 18*365) FROM Zaci

4. Dynamický sloupec (vytvoří nový sloupec z ostatních, např. datum + 18 roků ) a pojmenuje nový sloupec

SELECT prijmeni, jmeno, datum, (datum + 18*365) AS plnolety FROM Zaci

5. Výběr řádků: WHERE (žáci, kteří se jmenují Petr)

SELECT * FROM Zaci WHERE jmeno = 'Petr'

Další operátory:
= rovno
<> nebo != není rovno
< menší než, <= menší nebo rovno
> větší než, >= větší nebo rovno

Žáci narození před rokem 1990.
SELECT * FROM Zaci WHERE datum < #1/1/1990#
(Pozor takto funguje jen u MS Access)

6. Zobrazení v rozmezí: BETWEEN vybere 3. a 4. ročník

SELECT * FROM Zaci WHERE rocnik BETWEEN 3 AND 4
nebo
SELECT * FROM Zaci WHERE rocnik >= 3 AND rocnik <= 4

7. Použití operátoru LIKE
Vybere žáky Se jménem začínajícím na Pe

SELECT * FROM Zaci WHERE jmeno LIKE "Pe*"

Pozn.: další možnosti

* Odpovídá libovolnému počtu znaků. Může být použit jako první nebo poslední znak ve znakovém řetězci. pa* najde padák, pan, paní, panenka, papír, pas, paseka atd.

? Odpovídá jakémukoli jednotlivému abecednímu znaku. s?k najde sak, sek, sok, srk, suk

[ ] Odpovídá jednomu ze znaků uvedených v závorkách. s[ae]k najde sak a sek, ale nikoli sok, srk a suk

! Odpovídá libovolnému znaku, který není uveden v závorkách. s[!ae]k najde suk a srk, ale ne sak.

- Odpovídá jakémukoli znaku v zadaném rozsahu znaků. Rozsah musí být zadán ve vzestupném pořadí (A až Z, nikoli Z až A). s[a-e]k najde sak, sbk, sck, sdk a sek

# Odpovídá jakékoli jednotlivé číslici. 1#3 najde 103, 113, 123 atd.


8. Tříděný výpis ORDER BY

Setřídí žáky vzestupně podle jména
SELECT * FROM Zaci ORDER BY jmeno
nebo
SELECT * FROM Zaci ORDER BY jmeno ASC

Setřídí žáky sestupně podle jména
SELECT * FROM Zaci ORDER BY jmeno DESC

Setřídí žáky vzestupně podle příjmení a jména
SELECT * FROM Zaci ORDER BY prijmeni, jmeno ASC

9. Výstup do tabulky: INTO (pozor funguje různě v různých db)

Vypíše jména z tabulky zaci do nové tabulky
SELECT jmeno INTO NovaTabulka FROM zaci

10. Zamezení výskytu duplicit DISTINCT

Vypíše jména z tabulky zaci do nové tabulky, každé jméno pouze jednou
SELECT DISTINCT jmeno INTO NovaTabulka FROM zaci
© 2007 Pro výuku na SPŠ Zlín připravil RNDr. Vladimír Vaščák