03. SQL: O pár kroků blíže k rocket science Tomáš Hrabal Cíle dnešní hodiny: 1. Aliasy 2. AND/OR a IN 3. NULL ? 4. BETWEEN 5. Agregační funkce 6. Pokročilejší práce s řetězci Kontrolní otázky: Nainstalovaný SQLite manager Stažená databáze (stejná jako v druhé přednášce) Takovéto domácí procvičování 1. Vypiš jméno, datum a originální jazyk knihy, která je nejstarší, napsaná v originále v jazyce “English“, nebo v “German “a je přeložena do jazyka “Croatian“. 2. Vypiš jméno, datum a jazyk knihy, která je nejstarší, napsaná v originále v jazyce “English“, nebo v “German“. Napsáne byla mezi roky 1950 a 2000 včetně. 3. Vypiš knihy vydavatele “Ikar”. Originální jazyk knih je “French” a zároveň country “Slovakia”. Nebo je originální jazyk “English” a country “Czech Republic”. Vydání knih je v roce 2000 nebo v roce 2012. NAJDI MI NEJSTARŠÍ KNIHU. NULL, NOT NULL https://www.sqlite.org/nulls.html Najdi mi nejstarší knihu = Najdi mi nejstarší knihu, která má vyplněné datum vydání. Najdi mi knihy bez originálního jazyka. BETWEEN Zadání z domácího úkolu: Najdi mi knihy napsány mezi roky 1950 až 2000, včetně. IN Najdi mi knihy napsané v roce 1968 a 1989. LIKE, NOT LIKE, %, %text%, %text, text% při vyhledávání v textu budeme používat jedině LIKE! Najdi mi knihy, které napsal author “Drábek, Jan” Najdi mi knihy, které napsal author, se jménem končícím na “jan” Najdi mi knihy, které napsal author jehož jméno neobsahuje text “jan” Najdi mi knihy, které napsal author jehož jméno začíná na “anderson” AGREGAČNÍ FUNKCE https://www.sqlite.org/lang_aggfunc.html COUNT MAX MIN AVG SUM ROUND Rok vydání nejstarší knihy, která má vyplněné datum vydání. Počet knih v databázi, jejichž autor obsahuje “jan”. Suma let, průměrný věk vydání knihy zaokrouhleno na celá čísla a počet takovýchto knih v databázi. Knihy byly napsány v originálním jazyce “Czech” ale jazyk přeložení není “Czech”. TEXTOVÉ FUNKCE, FUNKCE s ČASEM a ALIAS https://www.sqlite.org/lang_corefunc.html https://www.sqlite.org/lang_datefunc.html Najdi mi knihy seřazené podle délky názvu. Vypiš i s délkou názvů. Rok vydání nejmladší knihy která je vydána dříve než je dnešní datum a vypiš dnešní datum. Najdi mi titulek knihy, autora, délku názvu. Knihy jsou seřazené podle délky názvu a jejich délka názvu je mezi 2 a 3. Vypiš jich 10 nejkratších. EXTRA PŘÍKLAD Vypiš: Suma let, počet knih, průměrný věk knih (zaokroulený a nezaokroulený-spočítaný).. Najdi knihy, kde originální jazyk “French” a vydání mezi rokem 1980 a zároveň kniha musí být více než 14 let stará (od dnešního dne). Knihy byly přeloženy do jazyka začínající na “czech” nebo do jazyka “slovakia” a musí mít vyplněného autora. Vydavatel knihy nesmí obsahovat znak “a” nebo znak “e”. Délka originálního názvu musí být kratší než délka přeloženého názvu.