-- 1. Автомобили со взносом выше среднего
SELECT а.Гос_номер, м.Название_модели, мр.Название_марки, с.Страховой_взнос
FROM Страховки с
JOIN Автомобили а ON с.ИД_автомобиля = а.ИД_автомобиля
JOIN Модели м ON а.ИД_модели = м.ИД_модели
JOIN Марки мр ON м.ИД_марки = мр.ИД_марки
WHERE с.Страховой_взнос > (SELECT AVG(Страховой_взнос) FROM Страховки);
-- 2. Водители со стажем более 3 лет
SELECT в.Фамилия, в.Имя, в.Отчество, д.Стаж, д.Дата_рождения
FROM Допущенные_водители д
JOIN Владельцы в ON д.ИД_водителя = в.ИД_владельца
WHERE д.Стаж > 3;
-- 3. Автомобили со взносом выше среднего по Сбербанк страхованию
SELECT а.Гос_номер, м.Название_модели, мр.Название_марки, с.Страховой_взнос
FROM Страховки с
JOIN Автомобили а ON с.ИД_автомобиля = а.ИД_автомобиля
JOIN Модели м ON а.ИД_модели = м.ИД_модели
JOIN Марки мр ON м.ИД_марки = мр.ИД_марки
WHERE с.Страховой_взнос > (
SELECT AVG(с2.Страховой_взнос)
FROM Страховки с2
JOIN Страховые_компании ск ON с2.ИД_страховой = ск.ИД_страховой
WHERE ск.Наименование_страховой = 'ООО СК "Сбербанк страхование"'
);
-- 4. Автомобили с 2 и более водителями
SELECT а.Гос_номер, м.Название_модели, мр.Название_марки,
COUNT(д.ИД_водителя) AS Кол_во_водителей
FROM Страховки с
JOIN Автомобили а ON с.ИД_автомобиля = а.ИД_автомобиля
JOIN Модели м ON а.ИД_модели = м.ИД_модели
JOIN Марки мр ON м.ИД_марки = мр.ИД_марки
JOIN Допущенные_водители д ON с.ИД_страховки = д.ИД_страховки
GROUP BY а.Гос_номер, м.Название_модели, мр.Название_марки
HAVING COUNT(д.ИД_водителя) >= 2;