Difference between revisions of "Tvorba dotazů"
From Wikivyuka
m |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
'''Jak se dotaz vyhodnocuje?''' | '''Jak se dotaz vyhodnocuje?''' | ||
− | 1. SŘBD nejprve zjistí seznam tabulek za klíčovým slovem FROM. Je | + | 1. SŘBD nejprve zjistí seznam tabulek za klíčovým slovem FROM. |
− | 2. Je-li tabulek více, a použijeme-li za FROM některý typ spojení (INNER, OuTER ap.), vyhodnotí se dle podmínky a dále se pracuje s podmnožinou záznamů z kartézského součinu. | + | Je-li jich více, vytvoří kartézský součin. |
+ | 2. Je-li tabulek více, a použijeme-li za FROM některý typ spojení (INNER, OuTER ap.), | ||
+ | vyhodnotí se dle podmínky a dále se pracuje s podmnožinou záznamů z kartézského součinu. | ||
3. Je-li podmínka za WHERE, omezí se další zpracování na záznamy vyhovující podmínce. | 3. Je-li podmínka za WHERE, omezí se další zpracování na záznamy vyhovující podmínce. | ||
− | 4. Je-li užito klíčové spojení GROUP BY, vytvoří se podskupiny dle hodnot uvedeného atributu. | + | 4. Je-li užito klíčové spojení GROUP BY, |
− | 5. Je-li podmínka HAVING, pak se dále zpracovávají jen ty podskupiny, které vyhovují podmínce. | + | vytvoří se podskupiny dle hodnot uvedeného atributu. |
+ | 5. Je-li podmínka HAVING, pak se dále zpracovávají jen ty podskupiny, | ||
+ | které vyhovují podmínce. | ||
6. Do výsledku se zahrne pouze jeden reprezentant z předchozího kroku. | 6. Do výsledku se zahrne pouze jeden reprezentant z předchozího kroku. | ||
7. Je-li užito ORDER BY, setřídí se výsledek před zobrazením. | 7. Je-li užito ORDER BY, setřídí se výsledek před zobrazením. | ||
− | 8. Ve | + | 8. Ve výsledku se zobrazí hodnoty atributů uvedených za slovem SELECT. |
'''Vyzkoušejte sami vytvořit následující dotazy:''' | '''Vyzkoušejte sami vytvořit následující dotazy:''' | ||
+ | |||
+ | ''Dotazy nad jednou tabulkou'' | ||
#Vypište všechny údaje z tabulky Ctenar. | #Vypište všechny údaje z tabulky Ctenar. | ||
Line 37: | Line 43: | ||
# Kolik exemplářů je v knihovně pro titul, který si chce někdo rezervovat? | # Kolik exemplářů je v knihovně pro titul, který si chce někdo rezervovat? | ||
# Jaké je datum vrácení prvního exempláře zarezervovaného titulu? (Kdy má být teoreticky vrácen.) | # Jaké je datum vrácení prvního exempláře zarezervovaného titulu? (Kdy má být teoreticky vrácen.) | ||
− | #Jak se jmenuje čtenář, který má nejvíc výpůjček? | + | #Jak se jmenuje čtenář, který má nejvíc výpůjček? [[nejvicVypujcek]] |
Latest revision as of 06:51, 22 November 2011
SELECT – základní tvar
SELECT [*] [seznam atributů pro výstup] FROM jméno_tabulky_nebo_dotazu WHERE podmínka_výběru GROUP BY určuje seskupení údajů z databáze podle určitých pravidel HAVING podmínka_seskupení ORDER BY seznam_položek [ASC] [DESC];
Jak se dotaz vyhodnocuje?
1. SŘBD nejprve zjistí seznam tabulek za klíčovým slovem FROM. Je-li jich více, vytvoří kartézský součin. 2. Je-li tabulek více, a použijeme-li za FROM některý typ spojení (INNER, OuTER ap.), vyhodnotí se dle podmínky a dále se pracuje s podmnožinou záznamů z kartézského součinu. 3. Je-li podmínka za WHERE, omezí se další zpracování na záznamy vyhovující podmínce. 4. Je-li užito klíčové spojení GROUP BY, vytvoří se podskupiny dle hodnot uvedeného atributu. 5. Je-li podmínka HAVING, pak se dále zpracovávají jen ty podskupiny, které vyhovují podmínce. 6. Do výsledku se zahrne pouze jeden reprezentant z předchozího kroku. 7. Je-li užito ORDER BY, setřídí se výsledek před zobrazením. 8. Ve výsledku se zobrazí hodnoty atributů uvedených za slovem SELECT.
Vyzkoušejte sami vytvořit následující dotazy:
Dotazy nad jednou tabulkou
- Vypište všechny údaje z tabulky Ctenar.
- Vypište jmenný seznam z tabulky Ctenar.
- Vypište jmenný abecedně setříděný seznam z tabulky Ctenar.
- Vytvořte adresní seznam z tabulky Ctenar.
- Vypište seznam knih – ceny a názvy.
- Vypočtěte ceny zakoupených knih s přidáním 19% DPH (vypočtená hodnota je novým sloupcem s pojmenováním).
- Jak se jmenuje čtenář s číselným označením 3? (bez výpisu čísla čtenáře)
- Vypište všechny opavské a ostravské čtenáře. (nejprve opavské, pak ostravské)
- Které knihy se rezervovaly v první polovině října?
- Kolik knih se rezervovalo v říjnu (v první polovině října)?
- Jaká je cena všech pořízených knih?
- Kolik je čtenářů z různých měst?
- Vypište seznam čtenářů z různých měst.
- Jaká je průměrná cena pořízených knih?
- Jaké jsou názvy knih, které jsou dražší než je průměrná cena?
- Kolik exemplářů je v knihovně pro titul, který si chce někdo rezervovat?
- Jaké je datum vrácení prvního exempláře zarezervovaného titulu? (Kdy má být teoreticky vrácen.)
- Jak se jmenuje čtenář, který má nejvíc výpůjček? nejvicVypujcek
Nápověda na stránkách Microsoft - jak přesně napsat podmínku kriteria vyhledávání v různém kódování najdete zde.