Sobes.tech
Intern

-- Os profissionais de marketing lançam campanhas promocionais na aplicação do serviço. Existem duas tabelas: -- campaigns – lista de campanhas -- - campaign – nome da campanha -- - action_type – tipo de campanha: "push" ou "banner" -- communications – registo do backend com envios de comunicações dessas campanhas aos utilizadores -- - user_id – identificador do utilizador -- - campaign – nome da campanha -- - status – estado do evento: "success" ou "error" --------------------------------------------------------------------------- -- 1. Inicialmente, na tabela campaigns, há 4 linhas: -- | campaign | action_type | -- |-------------|-------------| -- | promo_dogs | push | <- duplicado aleatoriamente -- | promo_cats | banner | -- | promo_cats | banner | <- duas linhas -- | promo_rats | push | -- Sabe-se também que: -- as campanhas promo_dogs e promo_cats foram bem-sucedidas em 100 utilizadores, e cada utilizador recebeu uma comunicação, -- e promo_rats está apenas em planeamento. -- 1.1 O que a consulta irá mostrar: 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 Como a resposta mudará se trocar o tipo de JOIN para LEFT?