Skip to content

Instantly share code, notes, and snippets.

@VKONSTANTINIUS
Created April 22, 2025 18:50
Show Gist options
  • Save VKONSTANTINIUS/a0955635049b566810f2b7a49ce5688e to your computer and use it in GitHub Desktop.
Save VKONSTANTINIUS/a0955635049b566810f2b7a49ce5688e to your computer and use it in GitHub Desktop.
--1.Вивести кількість товарів кожної категорії,
-- середня ціна поставки яких більше 100 гривень.
SELECT cat.name КАТЕГОРІЯ,
COUNT(pr.id) КІЛЬКІСТЬ
FROM Delivery d
JOIN Product pr ON d.id_product = pr.id
JOIN Category cat ON pr.id_category = cat.id
GROUP BY cat.name
HAVING AVG(d.price)>100
--2.Показати категорії "Фрукти" та "Цукерки",
-- їхні товари та загальну суму їх продажу.
SELECT cat.name КАТЕГОРІЯ,
pr.name ТОВАР,
SUM(s.price * s.quantity) СУМА
FROM Sale s
JOIN Product pr ON s.id_product = pr.id
JOIN Category cat ON pr.id_category = cat.id
WHERE cat.name IN ('Фрукти','Цукерки')
GROUP BY cat.name, pr.name
--3.Показати інформацію про виробника, його повну адресу
-- та кількість товарів, які він випускає.
-- Загальна вартість продажу товарів кожного виробника при цьому
-- повинна бути від 500 до 2000 гривень.
SELECT prod.name ВИРОБНИК,
cntr.name + ', ' + r.name + ', ' + ct.name + ', ' + a.street АДРЕСА,
SUM(p.quantity) КІЛЬКІСТЬ_ТОВАРІВ
FROM SALE s
JOIN Product p ON s.id_product = p.id
JOIN Producer prod ON p.id_producer = prod.id
JOIN Address a ON prod.id_address = a.id
JOIN City ct ON a.id_city = ct.id
JOIN Region r ON ct.id_region = r.id
JOIN Country cntr ON r.id_country = cntr.id
WHERE (s.price * s.quantity) BETWEEN 500 AND 2000
GROUP BY prod.name, cntr.name + ', ' + r.name + ', ' + ct.name + ', ' + a.street
--4.Показати категорію товарів, яких в магазині найменше.
SELECT c.name КАТЕГОРІЯ
FROM Product p
JOIN Category c ON p.id_category = c.id
WHERE p.quantity = (SELECT MIN(quantity) FROM Product)
GROUP BY c.name
--5.Показати кількість товарів кожної категорії,
-- при цьому враховуючи тільки ті товари, ціна поставки яких перевищує 400 гривень.
-- Умова: виведена інформація стосується тільки трьох визначених постачальників.
SELECT c.name КАТЕГОРІЯ,
SUM(p.quantity) КІЛЬКІСТЬ_ТОВАРІВ
FROM Delivery d
JOIN Product p ON d.id_product = p.id
JOIN Supplier s ON d.id_supplier = s.id
JOIN Category c ON p.id_category = c.id
WHERE d.price > 400 AND s.name IN ('Бусік Пандори', 'Біжубіжу', 'Східний Аромат')
GROUP BY c.name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment