Департаменты и сотрудники: результаты SQL-запросов

Без конкретных SQL-запросов сложно дать точный ответ, но обычно при работе с таблицами департаментов и работников можно ожидать следующие результаты:

Короткий ответ

Что ответить на собеседовании

Без конкретных SQL-запросов сложно дать точный ответ, но обычно при работе с таблицами департаментов и работников можно ожидать следующие результаты:

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

Ответ с пояснениями

Условие

-- 1.1 Что выведет запрос:

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 на LEFT? -- 1.3 Укажите порядок выполнения операторов в этом запросе.

-- 2. Таблицу campaigns починили: убрали задубливание, добавили ключ (PK). -- Провели больше кампаний, из-за багов у пользователей стали появляться неудачные попытки доставки коммуникаций, а кому-то совсем не удалось показать.

-- Пример 1: communications -- | user_id | campaign | status | -- | 1000001 | promo_cats | error | -- | 1000001 | promo_cats | error | -- | 1000001 | promo_cats | success| -- | 1000001 | promo_cats | success| -- | 1000001 | promo_cats | error |

-- Пример 2: communications -- | user_id | campaign | status | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error |

-- По отправленным на пользователей промо-кампаниям: -- 2.1 Напишите запрос, который выводит количество пользователей, успешно получивших коммуникацию, для каждой кампании. -- 2.2 Измените запрос, чтобы вывести: количество пользователей, не получивших в итоге ни одной успешной коммуникации, для каждой кампании.

Ответ

Без конкретных SQL-запросов сложно дать точный ответ, но обычно при работе с таблицами департаментов и работников можно ожидать следующие результаты:

  • Если запрос выполняет JOIN между таблицами, то результатом будет объединённая таблица, где для каждого работника будет информация о его департаменте.
  • Если запросы используют агрегатные функции (например, COUNT, AVG) с группировкой по департаментам, то можно получить статистику по числу работников в каждом департаменте или среднюю зарплату.

Например:

SELECT d.name AS department, COUNT(e.id) AS employee_count
FROM departments d
LEFT JOIN employees e ON d.id = e.department_id
GROUP BY d.name;

Этот запрос вернёт список департаментов с количеством работников в каждом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее