Databáze: https://is.muni.cz/auth/el/1421/podzim2017/VIKBB68/um/06 prednaska/fund-aktualni.sqlite Příklady - 6. přednáška 1. Zobrazte všechny příspěvky (jméno, datum příspěvku a jeho hodnota) od dárců pře dřevo lučních ročníků. 2. Zobrazte pouze "dárce", kteří zatím nedarovali žádné peníze (ale přesto jsou v tabulce donori) 3. Který z dárců přispěl nejvíce peněz v květnu 2013? 4. Zobrazte dárce, kteří přispěli alespoň 122x skrze web (tj. daný příspěvek má v tabulce příspěvky hodnotu sloupce zdroj "web") Řešení: 1. SELECT jméno, datum, castka FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE rocnik < 1989 2. SELECT jméno FROM donori LEFT JOIN prispevky ON donori.id = prispevky.donor WHERE castka IS NULL, další možnost třeba SELECT jmeno FROM donori LEFT JOIN prispevky ON donori.id = prispevky.donor GROUP BY donori.id HAVING SUM(castka) IS NULL 3. SELECT STRFTIME("%Y-%m", datum), jmeno, SUM(castka) FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE STRFTIME("%Y-%m", datum) = "2013-05" GROUP BY STRFTIME("%Y-%m", datum), jmeno ORDER BY SUM(castka) DESC LIMIT 1 - způsobu, jak vybrat květen je více, viz slídy z předminulé přednášky. Skrze aliasy sloupečků můžeme dotaz zjednodušit: SELECT STRFTIME("%Y-%m", datum) as mesic, jmeno, SUM(castka) as suma FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE mesic = "2013-05" GROUP BY mesic, jmeno ORDER BY suma DESC LIMIT 1 4. SELECT jmeno, COUNT(*) as počet FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE zdroj = "web" GROUP BY jmeno, zdroj HAVING počet >= 122