-- # -- 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 de verzendingen van communicatie van deze campagnes naar de gebruikers
-- # -- - user_id - gebruikersidentificatie
-- # -- - campaign - naam van de campagne
-- # -- - status - status van het evenement: "success" of "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. Aanvankelijk, in de tabel campaigns, zijn er 4 rijen:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- willekeurig gedupliceerd
-- # -- | promo_cats | banner | <- twee rijen
-- # -- | promo_rats | push |
# # -- Daarnaast is bekend dat:
-- # -- de campagnes promo_dogs en promo_cats succesvol zijn uitgevoerd bij 100 gebruikers, en elke gebruiker heeft één communicatie ontvangen,
-- # -- terwijl promo_rats alleen gepland is.
-- # -- 1.1 Wat zal de query tonen:
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 Hoe zal het antwoord veranderen als het JOIN-type wordt gewijzigd in LEFT?
-- # -- 1.3 Geef de uitvoeringsvolgorde van de operators in deze query.
-- Antwoord:
promo_dogs ... ...