"""
-- Создание таблицы "Сотрудники"
CREATE TABLE Сотрудники (
  Табельный_номер INT PRIMARY KEY,
  ФИО TEXT,
  Отдел TEXT,
  Код_должности INT,
  Пол TEXT,
  Дата_рождения DATE,
  Стаж INT,
  Семейное_положение TEXT,
  Дети INT,
  FOREIGN KEY (Код_должности) REFERENCES Штатное_расписание (Код_должности)
);

-- Создание таблицы "Штатное расписание"
CREATE TABLE Штатное_расписание (
  Код_должности INT PRIMARY KEY,
  Должность TEXT,
  Оклад FLOAT
);

-- Заполнение таблиц
INSERT INTO Штатное_расписание (Код_должности, Должность, Оклад)
VALUES
    (1, 'Менеджер', 50000),
    (2, 'Инженер', 60000),
    (3, 'Программист', 70000);

INSERT INTO Сотрудники (Табельный_номер, ФИО, Отдел, Код_должности, Пол, Дата_рождения, Стаж, Семейное_положение, Дети)
VALUES
    (1, 'Иванов Иван Иванович', 'Отдел разработки', 3, 'М', '1985-03-15', 8, 'Ж', 2),
    (2, 'Петров Петр Петрович', 'Отдел продаж', 1, 'М', '1990-05-22', 3, 'Х', 0),
    (3, 'Сидорова Елена Владимировна', 'Отдел разработки', 2, 'Ж', '1982-12-07', 12, 'Б', 1),
    (4, 'Ковалева Мария Игоревна', 'Отдел продаж', 1, 'Ж', '1993-07-30', 2, 'Х', 0),
    (5, 'Григорьев Андрей Александрович', 'Отдел разработки', 3, 'М', '1987-11-09', 6, 'Ж', 3),
    (6, 'Николаев Дмитрий Викторович', 'Отдел продаж', 1, 'М', '1995-02-25', 1, 'Х', 0);


Запрос "Зарплата":
SELECT Сотрудники.ФИО, Штатное_расписание.Должность, Штатное_расписание.Оклад, 
IIF(Сотрудники.Стаж<=5, Штатное_расписание.Оклад*0.5, Штатное_расписание.Оклад)*2 AS Премия, 
(Штатное_расписание.Оклад+IIF(Сотрудники.Стаж<=5, Штатное_расписание.Оклад*0.5, Штатное_расписание.Оклад)) AS Зарплата
FROM Штатное_расписание INNER JOIN Сотрудники ON Штатное_расписание.Код_должности = Сотрудники.Код_должности;

Запрос "Отделы":
SELECT Сотрудники.Отдел, COUNT(Сотрудники.Табельный_номер) AS Количество_сотрудников,
MAX(Штатное_расписание.Оклад+IIF(Сотрудники.Стаж>5, Штатное_расписание.Оклад, Штатное_расписание.Оклад*0.5)) AS Максимальная_зарплата,
MIN(Штатное_расписание.Оклад+IIF(Сотрудники.Стаж<=5, Штатное_расписание.Оклад*0.5, Штатное_расписание.Оклад)) AS Минимальная_зарплата,
SUM(Сотрудники.Дети) AS Общее_количество_детей
FROM Сотрудники
INNER JOIN Штатное_расписание ON Сотрудники.Код_должности = Штатное_расписание.Код_должности
GROUP BY Сотрудники.Отдел;
"""
