Difference between revisions of "Tvorba dotazů"

From Wikivyuka
Jump to: navigation, search
m
m
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
SELECT – základní tvar
+
'''SELECT – základní tvar'''
  
 
  SELECT [*] [seznam atributů pro výstup]
 
  SELECT [*] [seznam atributů pro výstup]
Line 7: Line 7:
 
  HAVING podmínka_seskupení
 
  HAVING podmínka_seskupení
 
  ORDER BY seznam_položek [ASC] [DESC];
 
  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:'''
 
'''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 27: 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

  1. Vypište všechny údaje z tabulky Ctenar.
  2. Vypište jmenný seznam z tabulky Ctenar.
  3. Vypište jmenný abecedně setříděný seznam z tabulky Ctenar.
  4. Vytvořte adresní seznam z tabulky Ctenar.
  5. Vypište seznam knih – ceny a názvy.
  6. 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).
  7. Jak se jmenuje čtenář s číselným označením 3? (bez výpisu čísla čtenáře)
  8. Vypište všechny opavské a ostravské čtenáře. (nejprve opavské, pak ostravské)
  9. Které knihy se rezervovaly v první polovině října?
  10. Kolik knih se rezervovalo v říjnu (v první polovině října)?
  11. Jaká je cena všech pořízených knih?
  12. Kolik je čtenářů z různých měst?
  13. Vypište seznam čtenářů z různých měst.
  14. Jaká je průměrná cena pořízených knih?
  15. Jaké jsou názvy knih, které jsou dražší než je průměrná cena?
  16. Kolik exemplářů je v knihovně pro titul, který si chce někdo rezervovat?
  17. Jaké je datum vrácení prvního exempláře zarezervovaného titulu? (Kdy má být teoreticky vrácen.)
  18. 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.

Zpět na stránku Úlohy k procvičení

Zpět na stránku DBS - cvičení