Sobes.tech
Senior

-- # -- Les spécialistes du marketing lancent des campagnes promotionnelles dans l'application du service. Il y a deux tables: -- # -- campaigns - liste des campagnes -- # -- - campaign - nom de la campagne -- # -- - action_type - type de campagne : "push" ou "banner" -- # -- communications - journal du backend avec l'envoi des communications de ces campagnes aux utilisateurs -- # -- - user_id - identifiant de l'utilisateur -- # -- - campaign - nom de la campagne -- # -- - status - statut de l'événement : "success" ou "error" -- ------------------------------------------------------------------------------------------------------------------------ -- # -- 1. Initialement, dans la table campaigns, il y a 4 lignes: -- # -- | campaign | action_type | -- # -- |-------------|-------------| -- # -- | promo_dogs | push | -- # -- | promo_cats | banner | <- dupliqué aléatoirement -- # -- | promo_cats | banner | <- deux lignes -- # -- | promo_rats | push | # # -- De plus, il est connu que: -- # -- les campagnes promo_dogs et promo_cats ont été menées avec succès sur 100 utilisateurs, et chaque utilisateur a reçu une communication, -- # -- tandis que promo_rats est encore en planification. -- # -- 1.1 Que renverra la requête: 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 Comment la réponse changera-t-elle si le type de JOIN est changé en LEFT? -- # -- 1.3 Indiquez l'ordre d'exécution des opérateurs dans cette requête. -- Réponse: promo_dogs ... ...