Задача A. Лидеры продаж

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

Условие

Для таблицы Sales со структурой:

нужно составить запрос, выводящий 10 наиболее продаваемых наименований товаров.

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

Ограничения

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


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

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти: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.


Задача C. Поиск клиентов по первой букве

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

Условие

Для таблицы Customers нужно выбрать имена клиентов начинающихся с буквы "G" и отсортировать их по убыванию возраста. Структура таблицы:

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

Ограничения

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


Задача D. Занятые парковочные места

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

Условие

На автостоянке эксплуатируется БД, в которой содержится информация о том, какому автомобилю из Cars принадлежит то или иное паковочное место из ParkingPlaces. Для реализации связи "многие ко многим", была заведена таблица CarsParkings, где автомобилю сопоставляется конкретное пронумерованное место на стоянке. Каждый автомобиль может иметь несколько парковочных мест. Ниже представлено детальное DDL-описание таблиц:


TABLE Cars ( -- машины
    ID        INTEGER PRIMARY KEY AUTOINCREMENT -- уникальный идентификатор
                      NOT NULL,
    CarNumber TEXT    NOT NULL -- номер автомобиля
                      UNIQUE
);

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

TABLE CarsParkings ( -- принадлежность парковочного места автомобилю
    CarID     INTEGER REFERENCES Cars (ID) -- идентификатор автомобиля
                      NOT NULL,
    ParkingID INTEGER REFERENCES ParkingPlaces (ID) -- идентификатор парковочного места
                      NOT NULL,
    UNIQUE (
        CarID,
        ParkingID
    )
);

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

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

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

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

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

Ограничения

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


0.227s 0.011s 27