-- # -- Marketéri spúšťajú propagačné kampane v aplikácii služby. Existujú dve tabuľky:
-- # -- campaigns - zoznam kampaní
-- # -- - campaign - názov kampane
-- # -- - action_type - typ kampane: "push" alebo "banner"
-- # -- communications - backendový záznam s odoslaním komunikácií týchto kampaní používateľom
-- # -- - user_id - identifikátor používateľa
-- # -- - campaign - názov kampane
-- # -- - status - stav udalosti: "success" alebo "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. Na začiatku, v tabuľke campaigns je 4 riadky:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- náhodne duplikované
-- # -- | promo_cats | banner | <- dve riadky
-- # -- | promo_rats | push |
# # -- Okrem toho je známe, že:
-- # -- kampane promo_dogs a promo_cats boli úspešne realizované na 100 používateľoch, pričom každý používateľ dostal jednu komunikáciu,
-- # -- zatiaľ čo promo_rats je len v plánovaní.
-- # -- 1.1 Čo zobrazí dotaz:
SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users
FROM campaigns AS ca
INNER JOIN communications AS co
ON ca.campaign = co.campaign
GROUP BY ca.campaign
-- # -- 1.2 Ako sa zmení odpoveď, ak zmeníme typ JOIN na LEFT?
-- # -- 1.3 Uveďte poradie vykonávania operátorov v tomto dotaze.
-- Odpoveď:
promo_dogs ... ...