-- Pazarlamacılar, uygulama hizmetinde promosyon kampanyaları başlatıyor. İki tablo var:
-- campaigns – kampanya listesi
-- - campaign – kampanya adı
-- - action_type – kampanya tipi: "push" veya "banner"
-- communications – bu kampanyaların kullanıcılara gönderimlerinin backend kaydı
-- - user_id – kullanıcı kimliği
-- - campaign – kampanya adı
-- - status – olay durumu: "success" veya "error"
---------------------------------------------------------------------------
-- 1. Başlangıçta, campaigns tablosunda 4 satır var:
-- | campaign | action_type |
-- |-------------|-------------|
-- | promo_dogs | push | <- rastgele çoğaltılmış
-- | promo_cats | banner |
-- | promo_cats | banner | <- iki satır
-- | promo_rats | push |
-- Ayrıca biliniyor ki:
-- promo_dogs ve promo_cats kampanyaları 100 kullanıcıyla başarıyla gerçekleştirildi ve her kullanıcıya bir ileti gönderildi,
-- promo_rats ise sadece planlama aşamasında.
-- 1.1 Sorgu ne gösterecek:
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 JOIN türü LEFT olarak değiştirilirse cevap nasıl değişir?