VIKMB55 SQL pro pokročilé a datové modelování Hodina č. 3 Feedback na DÚ 58 % Kalendář akcí Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do Kalendář akcí od do SELECT * FROM kalendar_akce WHERE zacatek <= "2014-03-09 23:59:00” AND konec >= “2014-03-03 00:00:00” VstupenkyProjekce id_projekce id_sal 1 1 2 2 3 1 4 1 id_vstupenka id_projekce 1 1 2 1 3 1 4 2 5 3 6 2 VstupenkyProjekce id_projekce id_sal 1 1 2 2 3 1 4 1 INNER JOIN id_vstupenka id_projekce 1 1 2 1 3 1 4 2 5 3 6 2 id_projekce id_sal id_vstupenka 1 1 1 1 1 2 1 1 3 2 2 4 3 1 5 2 2 6 INNER JOIN LEFT JOIN id_projekce id_sal id_vstupenka 1 1 1 1 1 2 1 1 3 2 2 4 3 1 5 2 2 6 4 1 NULL GROUP BY id_sal id_projekce id_sal id_vstupenka 1 1 1 1 1 2 1 1 3 2 2 4 3 1 5 2 2 6 4 1 NULL COUNT(*) vs COUNT(id_vstupenka) id_projekce id_sal id_vstupenka 1 1 1 1 1 2 1 1 3 2 2 4 3 1 5 2 2 6 4 1 NULL COUNT(*) vs. COUNT(id_projekce) vs. COUNT(id_vstupenka) id_projekce id_sal id_vstupenka 1 1 1 1 1 2 1 1 3 2 2 4 3 1 5 2 2 6 4 1 NULL SELECT id_sal, COUNT(p.id_projekce), COUNT(id_vstupenka) … GROUP BY id_sal id_sal COUNT(projekce) id_vstupenka 1 5 4 2 2 2 SELECT id_sal, COUNT(p.id_projekce), COUNT(id_vstupenka) … GROUP BY id_sal id_sal COUNT(projekce) COUNT(id_vstupenka) 1 5 4 2 2 2 DISTINCT SELECT id_sal, COUNT(DISTINCT p.id_projekce), COUNT(id_vstupenka) … GROUP BY id_sal id_sal COUNT(projekce) COUNT(id_vstupenka) 1 3 4 2 1 2 minitest.jdem.cz Vyberte dárce, kteří dali nejvíc peněz. Subselect (poddotaz) SELECT * FROM WHERE sloupec = (SELECT …) Subselect (poddotaz) SELECT * FROM WHERE sloupec IN (SELECT …) Vyberte příspěvky od lidí, kterých jméno začíná na “J”. BEZ JOINU! SELECT * FROM dary WHERE id_darce IN (SELECT id_darce FROM darci WHERE jmeno LIKE "J%") Vypište dárce, u kterých nemáme evidovaný e-mail SELECT jmeno FROM darci WHERE id_darce NOT IN (SELECT id_darce FROM kontakty WHERE typ = "email")