Professional Documents
Culture Documents
Databaze 6
Databaze 6
Přednáška 6
SQL – aritmetika
UPDATE ZAMESTNANEC
SET plat = 2* plat;
– výpočet platu zaměstnanců v EURech
• ALL
– implicitní volba – do výsledku zahrnuje duplicity
(duplicitní řádky)
• DISTINCT
– do výsledku nezahrnuje duplicity
Chování agregačních funkcí
• COUNT(sloupec)
– vrátí počet hodnot ve sloupci sloupec,
započítá opakující se hodnoty, hodnoty
NULL nezapočítá
– lze použít DISTINCT
– aplikována na prázdnou tabulku vrací
hodnotu 0
– ale: COUNT(*) počítá řádky tabulky, včetně
opakujících se a prázdných
Chování agregačních funkcí
• SUM(sloupec), AVG(sloupec)
– vrátí součet, resp. aritmetický průměr
hodnot sloupce sloupec, započítá
opakující se hodnoty, hodnoty NULL
nezapočítá
– lze použít DISTINCT
– aplikovány na prázdnou tabulku vrací
hodnotu NULL
– SUM(*) ani AVG(*) nelze použít
Chování agregačních funkcí
• MAX(sloupec), MIN(sloupec)
– vrátí maximální, resp. minimílní hodnotu ze
sloupce sloupec, hodnoty NULL ignoruje
– použití DISTINCT nemá význam
– aplikovány na prázdnou tabulku vrací
hodnotu NULL
– MAX(*) ani MIN(*) nelze použít
– lze je aplikovat i na typy CHAR a DATE
• zjištění počtu všech čtenářů v knihovně
EXEMPLÁŘ
PŘÍR_Č CENA D_NÁK ISBN
1 100 25.3.1990 80-85190-38-9
2 100 25.3.1990 80-85190-38-9
3 150 26.3.1990 80-11111-22-3
KNIHA*EXEMPLÁŘ
• výsledek dotazu:
Babička 200
U nás 150
• zjištění počtu exemplářů od jednotlivých
ISBN
• výsledek dotazu:
80-85190-38-9 Babička 2
80-11111-22-3 U nás 1
Konstrukt HAVING
• výsledek dotazu:
1 Novák
3 Drábek
4 Novotná
• výsledek dotazu:
4 Novotná
• Kteří Drábkové mají mezi Drábky
nejvyšší plat?
UNIQUE(poddotaz)
Příklady (z knihy Pokorný: DB systémy):
• vypiš zaměstnance, přičemž ať vždy
alespoň 3 pracují na stejné pozici
• UNION
– sjednocení
• INTERSECTION
– průnik
• EXCEPT
– rozdíl
• aplikují se na poddotazy
Příklady (z knihy Pokorný: DB systémy):
• najdi filmy, kde hraje W. Allen nebo je
režíroval