-- # -- Turunduseksperdid alustavad kampaaniate käivitamist teenuse rakenduses. On kaks tabelit:
-- # -- campaigns - kampaaniate nimekiri
-- # -- - campaign - kampaania nimi
-- # -- - action_type - kampaania tüüp: "push" või "banner"
-- # -- communications - backendi log, mis registreerib nende kampaaniate kommunikatsioonide saatmise kasutajatele
-- # -- - user_id - kasutaja identifikaator
-- # -- - campaign - kampaania nimi
-- # -- - status - sündmuse staatus: "success" või "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. Alguses, campaigns tabelis on 4 rida:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- juhuslikult duplitseeritud
-- # -- | promo_cats | banner | <- kaks rida
-- # -- | promo_rats | push |
# # -- Lisaks on teada, et:
-- # -- kampaaniad promo_dogs ja promo_cats on edukalt läbi viidud 100 kasutaja juures ning iga kasutaja sai ühe kommunikatsiooni,
-- # -- samas kui promo_rats on alles planeerimisel.
-- # -- 1.1 Mida näitab päring:
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 Kuidas muutub vastus, kui vahetada JOIN tüüp LEFT-ks?
-- # -- 1.3 Näidake selle päringu täitmise järjekord.
-- Vastus:
promo_dogs ... ...