NULLIF для защиты от деления на ноль

Средняя Условная логика

Условие задачи

Таблица campaigns (id, name, impressions INTEGER, clicks INTEGER, cost REAL). Посчитайте CTR (clicks/impressions*100) и CPC (cost/clicks). Используйте NULLIF для защиты от деления на 0. Выведите name, impressions, clicks, ctr (округлить до 2), cpc (округлить до 2). NULL если деление невозможно.

Схема данных

CREATE TABLE campaigns (id INTEGER PRIMARY KEY, name TEXT, impressions INTEGER, clicks INTEGER, cost REAL);

Темы

NULLIF ROUND

Подсказки

Что проверяет эта задача

Задача «NULLIF для защиты от деления на ноль» учит ветвить логику через CASE, корректно обрабатывать NULL (COALESCE/NULLIF) и считать условные метрики. Такие задачи регулярно дают на собеседованиях аналитиков данных. Уровень средний — типичная боевая задача на уверенное владение SQL.

Как подступиться к решению

Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).

Разбор темы с примерами — в гайде «Условная логика в SQL». Хочешь системно с нуля — пройди бесплатный курс «SQL с нуля».

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи