-- # -- 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 az üzenetküldéseiről a felhasználóknak
-- # -- - 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 |
-- # -- | promo_cats | banner | <- véletlenszerűen duplikált
-- # -- | promo_cats | banner | <- két sor
-- # -- | promo_rats | push |
# # -- Emellett 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
-- # -- 1.2 Hogyan változik a válasz, ha a JOIN típusát LEFT-re változtatjuk?
-- # -- 1.3 Adja meg a műveletek végrehajtási sorrendjét ebben a lekérdezésben.
-- Válasz:
promo_dogs ... ...