osobní stránky / internetová prezentace ver.2.0
Panoramatická fotka v záhlaví stránky

Páté cvičení

Zadání cvičení

Vytvořte pomocí jazyka SQL tabulku s názvem zamestnanci s následujícími sloupci: jmeno, rc, plat, odd_cislo (vhodným způsobem zvolte datové typy pro tyto sloupce!).

Vložte do již existující tabulky zaměstnanců nové údaje pomocí příkazu INSERT. Jednotlivé údaje budou o osobách pracujících ve 4 odděleních, které budou označeny 1, 2, 3 a 4. V každém z těchto oddělení bude pracovat minimálně dvojice různých zaměstnanců s různými platy

V případě již existujících zaměstnanců změnte jejich údaje pomocí příkazu UPDATE tak, aby údaje odpovídaly předchozímu zadání.

Pomocí jediného příkazu UPDATE zvyšte platy všem zaměstnancům o 20%.

Pomocí agregačních a skupinových funkcí vypište tabulku průměrných platů v jednotlivých odděleních.

Příkaz UPDATE

Syntaxe příkazu UPDATE (změň hodnotu)

UPDATE jmeno.tabulka 
SET bunka = hodnota nebo vzorec 
WHERE existující podmínka

Agregační funkce (SUM, AVG, MIN, MAX, COUNT)

Slouží k vykonávání složitějších příkazů v rámci jazyka SQL. Jde o pět funkcí:

  • Funkce SUM - vrátí součet
  • Funkce AVG - vrátí průměr
  • Funkce MIN - vrátí minimum
  • Funkce MAX - vrátí maximum
  • Funkce COUNT - vrátí počet řádků

Syntaxe příkazu

SELECT agregační funkce(jméno sloupce) 
FROM jmeno.tabulka 
WHERE podmínka

Příklad:

SELECT COUNT(*), AVG(plat), MIN(plat), MAX(plat) 
FROM jmeno.zamestnanci

vrátí následující:

COUNT(*) AVG(plat) MIN(plat) MAX(plat)
3 5833.3333 5000 6500

Funkce seskupování (GROUP BY)

Slouží k vypsání agregačních funkcí pro určitou skupinu. Například, pokud máme zaměstnance rozdělené do oddělení a u každého z nich uvedený jeho plat, můžeme pomocí seskupovací funkce zjistit průměrný plat v oddělení.

Syntaxe příkazu:

SELECT agregační funkce (použíté řádky) 
FROM jmeno.tabulka 
WHERE podmínka 
GROUP BY sloupec
databaze/pate_nove.txt · Poslední úprava: 21.10.2008 09:23 autor: zbynek
Tento web používá technologie Dokuwiki a OATG
© 1997 - 2012, Zbyšek Podhrázský, podhrazsky@zbych.cz