Вы объединяете логи событий из двух источников events_web и events_app, чтобы посчитать количество событий. Важно не потерять повторяющиеся события (например, два одинаковых клика). Что лучше использовать для объединения?

AUNION, потому что он ускоряет подсчёт событий
BINTERSECT, потому что он берёт общие события
CEXCEPT, чтобы исключить дубликаты
DUNION ALL, чтобы сохранить все строки
Правильный ответ. UNION ALL сохраняет все строки, а UNION удаляет дублирующиеся строки и может занизить количество событий.

Разбор

В событийных логах одинаковые строки могут быть валидными повторениями (два клика, две покупки и т.д.). Если использовать UNION, одинаковые строки будут схлопнуты, и метрика количества событий станет неверной. Поэтому для подсчётов по логам обычно применяют UNION ALL.

Проверь себя · 1/3разбор после ответа
Аналитик написал SELECT * FROM orders, users без WHERE и без JOIN ... ON. В orders 1000 строк, в users 500 строк. Что вернёт запрос?
Тренировать SQL в Telegram

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