-- A marketingesek promóciós kampányokat indítanak a szolgáltatás alkalmazásában. Két táblázat van:
-- campaigns – kampányok listája
-- - campaign – a kampány neve
-- - action_type – a kampány típusa: "push" vagy "banner"
-- communications – a backend naplója ezeknek a kampányoknak a felhasználóknak történő küldéséről
-- - user_id – felhasználói azonosító
-- - campaign – a kampány neve
-- - status – az esemény státusza: "success" vagy "error"
---------------------------------------------------------------------------
-- 1. Kezdetben a campaigns táblában 4 sor van:
-- | campaign | action_type |
-- |-------------|-------------|
-- | promo_dogs | push | <- véletlenszerűen duplikált
-- | promo_cats | banner |
-- | promo_cats | banner | <- két sor
-- | promo_rats | push |
-- Az is ismert, hogy:
-- a promo_dogs és promo_cats kampányokat sikeresen végrehajtották 100 felhasználónál, és minden felhasználó kapott egy kommunikációt,
-- míg a promo_rats csak tervezés alatt áll.
-- 1.1 Mit fog mutatni a lekérdezés:
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 AS campaign
-- 1.2 Hogyan változik a válasz, ha a JOIN típusát LEFT-re változtatjuk?