-- # -- Маркетолозите стартират промоционални кампании в приложението на услугата. Има две таблици:
-- # -- campaigns - списък на кампаниите
-- # -- - campaign - името на кампанията
-- # -- - action_type - тип на кампанията: "push" или "banner"
-- # -- communications - лог на бекенда с изпращанията на комуникации на тези кампании към потребителите
-- # -- - user_id - идентификатор на потребителя
-- # -- - campaign - името на кампанията
-- # -- - status - статус на събитието: "success" или "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. Първоначално, в таблицата campaigns има 4 реда:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- случайно дублиране
-- # -- | promo_cats | banner | <- две реда
-- # -- | promo_rats | push |
# # -- Освен това, е известно, че:
-- # -- кампаниите promo_dogs и promo_cats са били успешно проведени на 100 потребители, като всеки е получил по една комуникация,
-- # -- а promo_rats все още е в планиране.
-- # -- 1.1 Какво ще покаже заявката:
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 Как ще се промени отговорът, ако променим типа JOIN на LEFT?
-- # -- 1.3 Посочете реда на изпълнение на операторите в тази заявка.
-- Отговор:
promo_dogs ... ...