Sobes.tech
Senior

-- # -- 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 ... ...