Úvod do SQL Hodina č. 4 Osnova • Opakování • Doplnění “date” a “string” funkcí • Agregační funkce • A pak a tak Brno Blansko Adamov Bílovice nad Svitavou Obřany Brno Blansko Adamov Bílovice nad Svitavou Obřany name = "brno" Je "case sensitive", tj. záleží na velikosti písmen Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "brno" Je "case in-sensitive", tj. nezáleží na velikosti písmen Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "bRnO" Je "case in-sensitive", tj. nezáleží na velikosti písmen Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "Svitavou" Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "b%" Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "%o" Brno Blansko Adamov Bílovice nad Svitavou Obřany name LIKE "%ov%" Funkce f(x) = (x-10)2 - 8 Funkce "Kouzlo!" Funkce "Kouzlo!" Round() "Kouzlo!" Round(10.123) 10.123 "Kouzlo!" Round(10.123) 10.123 10 "Kouzlo!" Round(10.123, 1) 10.123 10.1 1 "Kouzlo!" Round(10.123, 1) 10.123 10.1 1 "Kouzlo!" SUBSTR("ABCDEF", 2, 3) SELECT SUBSTR("ABCDEF", 1, 3) -> https://www.sqlite.org/lang_corefunc.html BCD Práce! Vypište knihy, které v originále začínaji na "The" SELECT * FROM books WHERE original_title LIKE "The%" SELECT * FROM books WHERE original_title LIKE "The %" ^ tento dotaz zajistí, že kniha začíná na člen "The", první verze totiž vyhledá i knihy, které začínají na (třeba) There Práce! Vypište knihy, které v originále začínaji na "The" SELECT * FROM books WHERE SUBSTR(original_title, 1, 3) LIKE "The" SELECT * FROM books WHERE SUBSTR(original_title, 1, 4) LIKE "The " ^ tento dotaz zajistí, že kniha začíná na člen "The", první verze totiž vyhledá i knihy, které začínají na (třeba) There Řešení za pomocí substr Práce! Vypište knihy, které v prvních 3 znacích názvu obsahují "g" SELECT * FROM books WHERE SUBSTR(original_title, 1, 3) LIKE "%g%" Agregační funkce AVG, MIN, MAX, COUNT, SUM Agregační funkce Kouzlo! Číslo/řetězec Agregační funkce Kouzlo! sloupec Číslo/řetězec Agregační funkce Kouzlo! sloupec Číslo/řetězec Práce! Jaký je průměrný příspěvek z webu? S databází https://is.muni.cz/auth/el/phil/podzim2019/ISKB56/ um/04_prednaska/fund2016.sqlite SELECT AVG(castka) FROM fund WHERE zdroj = 'web' Složené funkce Složené funkce ROUND(AVG(castka), 1) SELECT ROUND(AVG(castka), 2) FROM fund WHERE zdroj = 'web' A ještě! Jaká byla nejvyšší a nejnižší výše příspěvku? Jedním dotazem! SELECT MIN(castka), max(castka) FROM fund