← Программа курса

Пробный урок · бесплатно

Список корпоративных клиентов

Менеджер готовит адресную B2B-кампанию.

Модуль 1. Таблицы, поля и первый запрос20 минутБез оплаты и без доступа к остальному курсу

Один настоящий урок

Попробуйте урок так, как он устроен в полном курсе

Мы не переставляем практику ради демо: сначала идёт материал урока, затем его штатный практический тренажёр. Открыт только этот один урок; остальные уроки, задания, тесты, файлы и прогресс остаются закрыты.

Карта модуля

Задача и бизнес-контекст

Коммерческий отдел запрашивает реестр B2B-клиентов без контактных персональных данных. Отчёт должен содержать ровно одну строку на компанию.

Тема занятия: Список корпоративных клиентов. Результат — объяснить, какие записи должны быть в выдаче, и обосновать вычисление без слепого копирования запроса.

Работайте в два шага: сначала письменный прогноз по учебным данным, затем сверка с SQL. Ошибки в определении метрики нельзя исправить одной перестановкой синтаксиса.

Подробный разбор

Разбор логики и данных

Идентификатор и гранулярность — разные понятия. Колонка id описывает одну запись, тогда как company может повториться у нескольких клиентов. SELECT задаёт проекцию: лишние поля не только мешают чтению, но и увеличивают риск раскрытия ненужных данных.

Проверьте связь между ключом, уровнем детализации и агрегированием. Если в результате одна строка означает не то, что требуется руководителю, правильный синтаксис всё равно даёт неверный показатель.

  1. Определите единицу наблюдения и перечислите первичные ключи.
  2. Укажите фильтры и зафиксируйте включение граничных значений.
  3. Опишите ожидаемые столбцы и формат чисел или дат.
  4. Назовите контрольную сумму или число строк, по которым заметна ошибка.

Идентификатор клиента, а не его название, фиксирует сущность. Клиенты-тёзки не становятся одним клиентом; заказ — отдельная сущность.

Формулы

Учебный SQL и результат

Ниже независимая демонстрация с вымышленными строками. Она поясняет приём, но не решает оцениваемую задачу следующего практического урока.

fxWITH leads(id,region,tier) AS (VALUES (1,'Тула','B2B'),(2,'Омск','B2C'),(3,'Омск','B2B')) SELECT id,region FROM leads WHERE tier='B2B' ORDER BY region,id;
idregion
3Омск
1Тула

Прогноз сверяем с данными из VALUES: результат вычислен исполнением самостоятельного SQL-примера, а не скопирован из лаборатории. Обратите внимание на те поля, которые попали в итог, и те строки, которые исключены.

Сначала попробуйте восстановить эти строки по исходному VALUES без запуска; затем выполните запрос в своей безопасной SQLite-среде и сравните порядок, NULL и агрегаты.

На что обратить внимание

Границы и типичные ошибки

Добавьте клиенту 14 тот же company. COUNT(*) изменится, но число различных названий не обязательно; заранее решите, что именно считает бизнес.

Важен не только итог, но и объяснимость: покажите, какая исходная запись приводит к изменению, и зачем выбран именно этот оператор SQL.

  1. Запишите прогноз: какие строки останутся после отбора или группировки?
  2. Измените ровно одно значение в независимом примере и пересчитайте ответ вручную.
  3. Проверьте отдельный крайний случай: совпадающий ключ, NULL, равная сумма или нулевой знаменатель (если применимо).
  4. Назовите ситуацию, где запрос выполняется без ошибки, но бизнес-вывод становится неверным.
Подробный разбор

Профессиональное погружение: Разбор рабочего выбора

Коммерческий реестр часто используют сотрудники с разными полномочиями. Для списка компаний достаточно устойчивого идентификатора, наименования и сегмента; контактные данные, адреса и платёжные реквизиты не нужны. Это одна из причин избегать SELECT * даже на небольшом наборе данных. В следующем месяце схема CRM может расшириться: новый столбец неожиданно попадёт в автоматическую выгрузку. Явный список полей делает контракт отчёта стабильным. Перед выводом реестра сравните количество уникальных клиентских id с количеством строк: если показатели различаются, возможно, вы незаметно присоединили дочернюю таблицу.

Практика

Самостоятельный разбор: Справочник организаций

Ситуация из работы аналитика

После переименования ООО «Вега» в ООО «Вега Север» устойчивый client_id остался прежним.

Проверьте, изменится ли число клиентов и почему отчёт не должен связывать сущности по строке названия.

Вопросы к разбору

  • Какое определение показателя или фильтра пришлось бы уточнить у владельца данных для ситуации «Справочник организаций»?
  • Для занятия «Список корпоративных клиентов» придумайте дополнительную контрольную запись, чтобы проверить требование, не используя боевые данные.
  • На примере «Справочник организаций» объясните заказчику без технических терминов, почему при проверке результат изменился или остался прежним.
Практика

Самостоятельный практикум

Проверка контракта результата. Для данной лаборатории сначала составьте список ожидаемых колонок и проверьте одну строку результата вручную. Дубли и граничные значения не считайте случайным шумом.

Для занятия «Список корпоративных клиентов» определите минимум одну отрицательную проверку — данные, для которых неверное решение дало бы правдоподобный, но ошибочный результат.

Работая с интерактивным SQL, не переносите запрос из независимого примера: структура задания и скрытые контрольные данные отличаются. Пишите решение под контракт текущей задачи.

Самопроверка

Как защитить результат

Соберите рабочий артефакт: Короткая спецификация реестра: кто одна строка, какие поля разрешены, какой фильтр действует и по чему сортировать.

После выполнения сформулируйте итог руководителю двумя предложениями: что именно считали и при каких данных результат может измениться.

  • Можно ли проверить ожидаемые числа без выполнения SQL?
  • Указан ли порядок строк, когда он важен?
  • Действуют ли условия одинаково для новых данных?
  • Не превратилось ли объединение или группировка в двойной подсчёт?
СправочникМатериалы задания и контрольные данные

Задание от заказчика

Менеджер готовит адресную B2B-кампанию.

  1. Покажите только company и city.
  2. Оставьте segment = B2B.
  3. Отсортируйте названия по алфавиту.

Схема именно этого учебного задания

Перечень ниже — документация к доступному учебному набору, а не данные основного сайта. Имена столбцов следует писать точно, как в тренажёре.

[[TABLE]]

Таблица Колонка Тип

customers id INTEGER

Несколько строк для ручной сверки

[[TABLE]]

id company city segment

1 Альфа Москва B2B

2 Бета Казань B2C

Контрольный эксперимент к заданию «Список корпоративных клиентов»

Добавьте в customers двух покупателей с одним и тем же названием компании, но разными id и городами. В адресной выборке должны сохраняться две реальные сущности, а не одно сгруппированное название.

Практика на сайте

Проверьте свои навыки в настоящем тренажёре

Это одно обычное учебное задание. Его результат проверяется на сервере, но не сохраняет прогресс и не открывает платные материалы.

SQL · Практическая лаборатория

SQL-практика: Список корпоративных клиентов

Менеджер готовит адресную B2B-кампанию.

0%Проверка

Задание

  1. Покажите только company и city.
  2. Оставьте segment = B2B.
  3. Отсортируйте названия по алфавиту.
customers 6 записей
idINTEGERcompanyTEXTcityTEXTsegmentTEXT
1АльфаМоскваB2B
2БетаКазаньB2C
3ГаммаТулаB2B
4ДельтаМоскваB2C
5КедрПермьB2B
6МаякСамараB2C
SELECT / JOIN / GROUP BY / CTE

Пробная проверка не сохраняет попытки и прогресс. Используются только учебные данные этого задания.

Пробный урок завершён

Остальная программа остаётся закрытой

Покупка курса открывает остальные уроки, встроенную практику, тесты, прогресс, материалы и итоговую аттестацию. Пробный урок не открывает личный кабинет курса и не даёт доступ к остальным материалам.