Задача Q. Количество сотрудников в отделах

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.db   Ограничение памяти:256 Мб
Выходной файл:test.log  

Условие

В базе данных торговой компании хранится список сотрудников Employees и список департаментов Departments. Каждый сотрудник может числиться только в одном департаменте или не числиться ни в одном из них. Также, существуют новые департаменты без сотрудников. Ниже представлено детальное DDL-описание таблиц:


TABLE Employees ( -- хранит список сотрудников
    ID           INTEGER PRIMARY KEY AUTOINCREMENT -- уникальный идентификатор
                         NOT NULL,
    FullName     TEXT    NOT NULL, -- ФИО сотрудника
    Age          INTEGER CHECK (Age >= 0), -- возраст сотрудника
    DepartmentID INTEGER REFERENCES Departments (ID) -- идентификатор департамента
);

TABLE Departments ( -- хранит список департаментов
    ID   INTEGER PRIMARY KEY AUTOINCREMENT -- уникальный идентификатор
                 NOT NULL,
    Name TEXT    NOT NULL -- название департамента
                 UNIQUE
);

Требуется из таблицы Departments выбрать все департаменты и указать какое количество сотрудников числится в каждом из них. Схема БД в UML-нотации:

Результатом выполнения запроса должен быть список кортежей (DepartmentName, TotalPeople). Описание полей запроса:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Формат входного файла

Пример тестовой БД.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


0.103s 0.021s 19