Created
April 19, 2025 19:07
-
-
Save Helen460/f9dc7a6faf8194fadf4a64d3c2c1a376 to your computer and use it in GitHub Desktop.
8-DZ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- 1. Вивести кількість товарів кожної категорії, середня ціна поставки яких більше 100 гривень. | |
SELECT c.name AS [Категорія], COUNT(DISTINCT p.id) AS [Кількість товарів] | |
FROM Product p | |
JOIN Category c ON p.id_category = c.id | |
JOIN Delivery d ON p.id = d.id_product | |
GROUP BY c.name | |
HAVING AVG(d.price) > 100; | |
-- 2. Показати категорії "Фрукти" та "Цукерки", їхні товари та загальну суму їх продажу. | |
SELECT c.name AS [Категорія], p.name AS [Товар], SUM(s.price) AS [Загальна сума продажу] | |
FROM Product p | |
JOIN Category c ON p.id_category = c.id | |
JOIN Sale s ON p.id = s.id_product | |
WHERE c.name IN ('Фрукти', 'Цукерки') | |
GROUP BY c.name, p.name; | |
-- 3. Показати інформацію про виробника, його повну адресу та кількість товарів, які він випускає. | |
-- Загальна вартість продажу товарів кожного виробника при цьому повинна бути від 500 до 2000 гривень. | |
SELECT pr.name AS [Виробник], | |
a.street AS [Вулиця], | |
c.name AS [Місто], | |
r.name AS [Регіон], | |
co.name AS [Країна], | |
COUNT(p.name) AS [Кількість товарів] | |
FROM Product p | |
JOIN Producer pr ON p.id_producer = pr.id | |
JOIN Address a ON pr.id_address = a.id | |
JOIN City c ON a.id_city = c.id | |
JOIN Region r ON c.id_region = r.id | |
JOIN Country co ON r.id_country = co.id | |
JOIN Sale s ON p.id = s.id_product | |
GROUP BY pr.name, a.street, c.name, r.name, co.name | |
HAVING SUM(s.price) BETWEEN 500 AND 2000; | |
-- 4. Показати категорію товарів, яких в магазині найменше. | |
SELECT TOP 1 c.name AS [Категорія], COUNT(p.id) AS [Кількість товарів] | |
FROM Product p | |
JOIN Category c ON p.id_category = c.id | |
GROUP BY c.name | |
ORDER BY COUNT(p.id) | |
-- 5. Показати кількість товарів кожної категорії, при цьому враховуючи тільки ті товари, ціна поставки яких перевищує 400 гривень. | |
-- Умова: виведена інформація стосується тільки трьох визначених постачальників. тут також треба зробити в стилі викладача ось його запити SELECT p.name, c.name | |
SELECT c.name AS [Категорія], COUNT(DISTINCT p.id) AS [Кількість товарів] | |
FROM Product p | |
JOIN Category c ON p.id_category = c.id | |
JOIN Delivery d ON p.id = d.id_product | |
WHERE d.price > 400 | |
AND d.id_supplier IN (1, 2, 3) | |
GROUP BY c.name; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment