-- =========================================================================
-- ПРАКТИЧЕСКАЯ РАБОТА: ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
-- =========================================================================
-- 1. Добавьте 4 владельцу машины новую машину БМВ
INSERT INTO Avtomobili (ID_Vladeltsa, Marka, Model, Gosnomer, Tip_kuzova)
VALUES (4, 'BMW', 'X7', 'М444ММ777', 'Кроссовер');
-- 2. Найдите сколько моделей машин есть на парковке по каждой марке автомобиля
SELECT Marka, COUNT(DISTINCT Model) AS Kolichestvo_Modeley
FROM Avtomobili
GROUP BY Marka
ORDER BY Kolichestvo_Modeley DESC;
-- 3. Топ-5 самых часто встречающихся марок
SELECT Marka, COUNT(*) AS Kolichestvo
FROM Avtomobili
GROUP BY Marka
ORDER BY Kolichestvo DESC
LIMIT 5;
-- 4. Сколько машин у каждого владельца?
SELECT ID_Vladeltsa, COUNT(*) AS Kolichestvo_Mashin
FROM Avtomobili
GROUP BY ID_Vladeltsa
ORDER BY Kolichestvo_Mashin DESC;
-- 5. У какого владельца больше всего автомобилей?
SELECT ID_Vladeltsa, COUNT(*) AS Maks_Mashin
FROM Avtomobili
GROUP BY ID_Vladeltsa
ORDER BY Maks_Mashin DESC
LIMIT 1;
-- 6. Какие машины принадлежат владельцу 52?
SELECT *
FROM Avtomobili
WHERE ID_Vladeltsa = 52;
-- 7. Какой тип кузова встречается реже всего?
SELECT Tip_kuzova, COUNT(*) AS Kolichestvo
FROM Avtomobili
GROUP BY Tip_kuzova
ORDER BY Kolichestvo ASC
LIMIT 1;
-- 8. Сколько всего уникальных марок представлено?
SELECT COUNT(DISTINCT Marka) AS Vsego_Unikalnih_Marok
FROM Avtomobili;
-- 9. Сколько госномеров начинается на букву «А»?
-- (Если запрос вернет 0, попробуй поменять русскую 'А' на английскую 'A' в зависимости от того, как вставились данные)
SELECT COUNT(*) AS Nomera_Na_A
FROM Avtomobili
WHERE Gosnomer LIKE 'А%';
-- 10. 60 владелец машины переезжает и забирает свою машину. Удалить машину по госномеру или по id.
-- Согласно предоставленным данным, у владельца 60 машина ВАЗ 2101 с ID_Avto = 34. Удаляем по ID:
DELETE FROM Avtomobili
WHERE ID_Avto = 34;
-- 11. Какие есть внедорожники/кроссоверы?
SELECT *
FROM Avtomobili
WHERE Tip_kuzova IN ('Внедорожник', 'Кроссовер');
-- 12. У полиции есть наводки на преступника, но есть только госномер «Е678ХМ190». Найти машину по госномеру.
SELECT *
FROM Avtomobili
WHERE Gosnomer = 'Е678ХМ190';
-- 13. Важный клиент хочет найти все Кадилаки на парковке. Выведите список всех Cadillac, отсортированных по модели.
SELECT *
FROM Avtomobili
WHERE Marka = 'Cadillac'
ORDER BY Model ASC;
-- 14. Важный соц опрос. У кого из владельцев больше одной машины?
SELECT ID_Vladeltsa, COUNT(*) AS Kolichestvo_Mashin
FROM Avtomobili
GROUP BY ID_Vladeltsa
HAVING COUNT(*) > 1
ORDER BY Kolichestvo_Mashin DESC;
-- 15. Сколько машин каждого типа кузова?
SELECT Tip_kuzova, COUNT(*) AS Kolichestvo_Mashin
FROM Avtomobili
GROUP BY Tip_kuzova
ORDER BY Kolichestvo_Mashin DESC;