-- # -- Marketinški stručnjaci pokreću promotivne kampanje u aplikaciji servisa. Postoje dve tabele:
-- # -- campaigns - lista kampanja
-- # -- - campaign - naziv kampanje
-- # -- - action_type - tip kampanje: "push" ili "banner"
-- # -- communications - backend log sa slanjem komunikacija ovih kampanja korisnicima
-- # -- - user_id - identifikator korisnika
-- # -- - campaign - naziv kampanje
-- # -- - status - status događaja: "success" ili "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. U početku, u tabeli campaigns postoje 4 reda:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- slučajno duplirano
-- # -- | promo_cats | banner | <- dve redove
-- # -- | promo_rats | push |
# # -- Takođe je poznato da:
-- # -- kampanje promo_dogs i promo_cats su uspešno sprovedene na 100 korisnika, a svaki korisnik je dobio jednu komunikaciju,
-- # -- dok je promo_rats samo u planiranju.
-- # -- 1.1 Šta će prikazati upit:
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 Kako će se odgovor promeniti ako se promeni tip JOIN na LEFT?
-- # -- 1.3 Navedite redosled izvršavanja operatora u ovom upitu.
-- Odgovor:
promo_dogs ... ...