Sobes.tech
Intern

-- Marketéři spouštějí promoční kampaně v aplikaci služby. Existují dvě tabulky: -- campaigns – seznam kampaní -- - campaign – název kampaně -- - action_type – typ kampaně: "push" nebo "banner" -- communications – log backendu s odesíláním komunikací těchto kampaní uživatelům -- - user_id – identifikátor uživatele -- - campaign – název kampaně -- - status – stav události: "success" nebo "error" --------------------------------------------------------------------------- -- 1. Zpočátku je v tabulce campaigns 4 řádky: -- | campaign | action_type | -- |-------------|-------------| -- | promo_dogs | push | <- náhodně duplikováno -- | promo_cats | banner | -- | promo_cats | banner | <- dva řádky -- | promo_rats | push | -- Je také známo, že: -- kampaně promo_dogs a promo_cats byly úspěšně realizovány u 100 uživatelů a každý uživatel obdržel jednu komunikaci, -- zatímco promo_rats je teprve v plánování. -- 1.1 Co 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 AS campaign -- 1.2 Jak se změní odpověď, pokud změníme typ JOIN na LEFT?