13. FB: facebook.com/peckadesign TW: @peckadesign
NORMÁLNÍ FORMY
https://cs.wikipedia.org/wiki/Normalizace_datab%C3%A1ze
0. NF 1. NF
hodnoty je možní rozdělit hodnoty jsou nedělitelné
38. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - AGREGAČNÍ FUNKCE
AVG() - Returns the average value
COUNT() - Returns the number of rows
FIRST() - Returns the first value
LAST() - Returns the last value
MAX() - Returns the largest value
MIN() - Returns the smallest value
SUM() - Returns the sum
např. SELECT AVG(mzda) FROM zamestnanec
39. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - FUNKCE
SELECT jmeno, count(jmeno) pocet FROM zamestnanec GROUP BY jmeno
GROUP BY
40. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - FUNKCE
SELECT jmeno, count(jmeno) pocet FROM zamestnanec GROUP BY jmeno HAVING
jmeno=“Jan”
HAVING
41. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - SKALÁRNÍ FUNKCE
UCASE() - Converts a field to upper case
LCASE() - Converts a field to lower case
LENGTH() - Returns the length of a text field
ROUND() - Rounds a numeric field to the number
NOW() - Returns the current system date and time
např. SELECT jmeno, LENGTH(jmeno) delka_jmena FROM zamestnanec
42. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - KOMENTÁŘE
Dají se dělat komentáře?
#dají
nenápadný znak užitečný např. při SQL injection:)
51. FB: facebook.com/peckadesign TW: @peckadesign
SELECT - UNION, UNION ALL
SELECT * FROM zamestnanec2 z2 RIGHT JOIN pozice p ON z2.id_pozice=p.id
UNION
SELECT * FROM zamestnanec2 z2 LEFT JOIN pozice p ON z2.id_pozice=p.id
52. FB: facebook.com/peckadesign TW: @peckadesign
SELECT
subselect
SELECT * FROM zamestnanec WHERE mzda>(SELECT AVG(mzda) FROM zamestnanec)
53. FB: facebook.com/peckadesign TW: @peckadesign
PŘÍKLADY
Kolik je zaměstnanců v tabulce zaměstnanec?
Kolik zaměstnanců má každá z firmem?
Průměrná mzda v Praze?