Successfully reported this slideshow.
Your SlideShare is downloading. ×

Základy SQL

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 54 Ad
Advertisement

More Related Content

More from PeckaDesign.cz (20)

Advertisement

Recently uploaded (20)

Základy SQL

  1. 1. FB: facebook.com/peckadesign TW: @peckadesign ZÁKLADY SQL Lukáš Brázdil
  2. 2. FB: facebook.com/peckadesign TW: @peckadesign
  3. 3. FB: facebook.com/peckadesign TW: @peckadesign
  4. 4. FB: facebook.com/peckadesign TW: @peckadesign
  5. 5. FB: facebook.com/peckadesign TW: @peckadesign TŘÍVRSTVÁ ARCHITEKTURA
  6. 6. FB: facebook.com/peckadesign TW: @peckadesign PREZENTAČNÍ APLIKAČNÍ DATOVÁ
  7. 7. FB: facebook.com/peckadesign TW: @peckadesign DATABÁZE
  8. 8. FB: facebook.com/peckadesign TW: @peckadesign
  9. 9. FB: facebook.com/peckadesign TW: @peckadesign A DATABASE IS AN ORGANIZED COLLECTION OF DATA. https://en.wikipedia.org/wiki/Database
  10. 10. FB: facebook.com/peckadesign TW: @peckadesign TABULKA:)
  11. 11. FB: facebook.com/peckadesign TW: @peckadesign TVORBA DATABÁZE
  12. 12. FB: facebook.com/peckadesign TW: @peckadesign ERD - SCHÉMA RELAČNÍ DATABÁZE
  13. 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é
  14. 14. FB: facebook.com/peckadesign TW: @peckadesign PRIMÁRNÍ VS. CIZÍ KLÍČ
  15. 15. FB: facebook.com/peckadesign TW: @peckadesign VAZBY
  16. 16. FB: facebook.com/peckadesign TW: @peckadesign VAZBY M:N
  17. 17. FB: facebook.com/peckadesign TW: @peckadesign VAZBY M:N
  18. 18. FB: facebook.com/peckadesign TW: @peckadesign DBMS
  19. 19. FB: facebook.com/peckadesign TW: @peckadesign
  20. 20. FB: facebook.com/peckadesign TW: @peckadesign Jakou zvolit licenci: http://www.tomas-solar.com/blog/webinar/co-nevite-o-licencich-placenem-supportu-oracle/
  21. 21. FB: facebook.com/peckadesign TW: @peckadesign SQL http://www.w3schools.com/sql/
  22. 22. FB: facebook.com/peckadesign TW: @peckadesign HISTORIE? WIKIPEDIA.ORG:)
  23. 23. FB: facebook.com/peckadesign TW: @peckadesign
  24. 24. FB: facebook.com/peckadesign TW: @peckadesign • DDL • DML • DQL
  25. 25. FB: facebook.com/peckadesign TW: @peckadesign PAUZA?
  26. 26. FB: facebook.com/peckadesign TW: @peckadesign WORKSHOP http://lukasbrazdil.com/workshop/
  27. 27. FB: facebook.com/peckadesign TW: @peckadesign • phpMyAdmin • Adminer Jednoduchý online DB simulátor: http://sqlfiddle.com/ APLIKACE PRO SPRÁVU DB
  28. 28. FB: facebook.com/peckadesign TW: @peckadesign DATOVÝ TYP • varchar (pro text) • int (pro číslo)
  29. 29. FB: facebook.com/peckadesign TW: @peckadesign DDL (DATA DEFINITION LANGUAGE) • CREATE • ALTER • DROP http://www.w3schools.com/sql/
  30. 30. FB: facebook.com/peckadesign TW: @peckadesign DML (DATA MANIPULATION LANGUAGE) • INSERT • UPDATE • DELETE
  31. 31. FB: facebook.com/peckadesign TW: @peckadesign DQL (DATA QUERY LANGUAGE) • SELECT http://www.w3schools.com/sql
  32. 32. FB: facebook.com/peckadesign TW: @peckadesign TESTOVACI DB link na: http://lukasbrazdil.com/workshop/
  33. 33. FB: facebook.com/peckadesign TW: @peckadesign SELECT SELECT * FROM firma [další nepovinné příkazy];
  34. 34. FB: facebook.com/peckadesign TW: @peckadesign SELECT - PODMÍNKY např. SELECT * FROM firma WHERE id=1; WHERE
  35. 35. FB: facebook.com/peckadesign TW: @peckadesign SELECT - ŘAZENÍ např. SELECT * FROM firma ORDER BY id DESC ORDER BY
  36. 36. FB: facebook.com/peckadesign TW: @peckadesign SELECT - OMEZENÍ např. SELECT * FROM firma LIMIT 2 [OFFSET 1] LIMIT
  37. 37. FB: facebook.com/peckadesign TW: @peckadesign SELECT DISTINCT např. SELECT DISTINCT jmeno FROM zamestnanec
  38. 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. 39. FB: facebook.com/peckadesign TW: @peckadesign SELECT - FUNKCE SELECT jmeno, count(jmeno) pocet FROM zamestnanec GROUP BY jmeno GROUP BY
  40. 40. FB: facebook.com/peckadesign TW: @peckadesign SELECT - FUNKCE SELECT jmeno, count(jmeno) pocet FROM zamestnanec GROUP BY jmeno HAVING jmeno=“Jan” HAVING
  41. 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. 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:)
  43. 43. FB: facebook.com/peckadesign TW: @peckadesign SELECT Duplicitní sloupce a zkrácené názvy tabulka_a a ANEBO tabulka_a as a
  44. 44. FB: facebook.com/peckadesign TW: @peckadesign SELECT - SPOJOVÁNÍ TABULEK • horizontální • vertikální
  45. 45. FB: facebook.com/peckadesign TW: @peckadesign SELECT - SPOJOVÁNÍ TABULEK (HORIZONTÁLNÍ) JOIN
  46. 46. FB: facebook.com/peckadesign TW: @peckadesign SELECT - JOIN
  47. 47. FB: facebook.com/peckadesign TW: @peckadesign SELECT - (INNER) JOIN SELECT * FROM zamestnanec z JOIN firma f ON f.id=z.id_firmy
  48. 48. FB: facebook.com/peckadesign TW: @peckadesign SELECT - LEFT JOIN SELECT * FROM pozice p LEFT JOIN zamestnanec z ON p.id=z.id_pozice
  49. 49. FB: facebook.com/peckadesign TW: @peckadesign SELECT - RIGHT JOIN SELECT * FROM zamestnanec z RIGHT JOIN firma f ON f.id=z.id_firmy
  50. 50. FB: facebook.com/peckadesign TW: @peckadesign SELECT - SPOJOVÁNÍ TABULEK (VERTIKÁLNÍ) UNION A UNION ALL
  51. 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. 52. FB: facebook.com/peckadesign TW: @peckadesign SELECT subselect SELECT * FROM zamestnanec WHERE mzda>(SELECT AVG(mzda) FROM zamestnanec)
  53. 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?
  54. 54. FB: facebook.com/peckadesign TW: @peckadesign DÍKY ZA POZORNOST

×