-- Marketeers starten promotiecampagnes in de app van de service. Er zijn twee tabellen:
-- campaigns – lijst van campagnes
-- - campaign – naam van de campagne
-- - action_type – type campagne: "push" of "banner"
-- communications – backend-logboek met verzendingen van communicatie van deze campagnes naar gebruikers
-- - user_id – gebruikersidentificatie
-- - campaign – naam van de campagne
-- - status – status van het evenement: "success" of "error"
---------------------------------------------------------------------------
-- 1. Aanvankelijk zijn er in de tabel campaigns 4 rijen:
-- | campaign | action_type |
-- |-------------|-------------|
-- | promo_dogs | push | <- willekeurig gedupliceerd
-- | promo_cats | banner |
-- | promo_cats | banner | <- twee rijen
-- | promo_rats | push |
-- Het is ook bekend dat:
-- campagnes promo_dogs en promo_cats succesvol zijn uitgevoerd bij 100 gebruikers en elke gebruiker heeft één communicatie ontvangen,
-- en promo_rats is nog in planning.
-- 1.1 Wat geeft de query:
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 Hoe verandert het antwoord als het type JOIN wordt gewijzigd in LEFT?