Нужно получить уникальный список user_id, которые пришли из двух каналов: campaign_a(user_id) и campaign_b(user_id). Как корректнее объединить списки, чтобы убрать дубликаты?

AИспользовать UNION
BИспользовать UNION ALL
CИспользовать INNER JOIN по user_id
DИспользовать FULL JOIN по user_id
Правильный ответ. UNION возвращает множество (без дублей), а UNION ALL просто добавляет строки и сохраняет дубликаты.

Разбор

Если один и тот же user_id есть в обеих таблицах, UNION вернёт его один раз. UNION ALL вернёт две строки (и дальше может раздуть метрики, если вы просто посчитаете строки). JOIN решает другую задачу — соединение данных по ключу.

Проверь себя · 1/3разбор после ответа
Какое утверждение про RIGHT JOIN верно в аналитических запросах?
Тренировать SQL в Telegram

Ещё вопросы по теме «JOIN и операции множеств»