Created
February 20, 2025 11:41
-
-
Save ViktorLychkatyi/608a46115ca6008ac0628740e9772941 to your computer and use it in GitHub Desktop.
Group
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. Показать товары, средняя цена продажи которых была больше 50 гривен | |
--SELECT | |
--p.name AS Товары, | |
--SUM(s.price) AS Цена | |
--FROM Product p | |
--JOIN Sale s ON s.id_product = p.id | |
--GROUP BY p.name | |
--HAVING AVG(s.price) > 50 | |
--2. Вывести количество товаров каждой категории, средняя цена поставки которых больше 100 гривен | |
--SELECT | |
--COUNT(p.name) AS [Количество товаров], | |
--c.name AS Категория, | |
--SUM(d.price) AS Цена | |
--FROM Category c | |
--JOIN Product p ON p.id_category = c.id | |
--JOIN Delivery d ON d.id_product = p.id | |
--GROUP BY c.name | |
--HAVING AVG(d.price) > 100 | |
--3. Показать категории "Фрукты" и "Конфеты", принадлежащие им товары, и общую сумму их продажи | |
--SELECT | |
--p.name AS Товар, | |
--c.name AS Категория, | |
--SUM(s.price * s.quantity) AS [Общая сумма продажи] | |
--FROM Category c | |
--JOIN Product p ON p.id_category = c.id | |
--JOIN Sale s ON s.id_product = p.id | |
--GROUP BY p.name, c.name | |
--HAVING c.name IN ('Фрукты', 'Овощи') | |
--4. Показать информацию о производителе, его полном адресе, и количестве товаров, которые он выпускает. | |
--Общая стоимость продаж товаров каждого производителя при этом должна быть от 5000 до 2000 гривен | |
--SELECT | |
--pr.name AS Производитель, | |
--CONCAT(co.name, ', ', ct.name, ', ', a.street) AS Адрес, | |
--COUNT(p.name) AS Товар, | |
--c.name AS Категория, | |
--SUM(s.price * s.quantity) AS [Общая сумма продажи] | |
--FROM Product p | |
--JOIN Producer pr ON p.id_producer = pr.id | |
--JOIN Address a ON pr.id_address = a.id | |
--JOIN City ct ON a.id_city = ct.id | |
--JOIN Region r ON ct.id_region = r.id | |
--JOIN Country co ON r.id_country = co.id | |
--JOIN Category c ON p.id_category = c.id | |
--JOIN Sale s ON s.id_product = p.id | |
--GROUP BY pr.name, ct.name, r.name, co.name, a.street, p.name, c.name | |
--HAVING SUM(s.price * s.quantity) BETWEEN 2000 AND 5000 | |
--5. Показать категорию, товаров которой в магазине меньше всего | |
--SELECT | |
--c.name AS Категория, | |
--COUNT(p.name) AS [Количество товаров из категории] | |
--FROM Category c | |
--JOIN Product p ON p.id_category = c.id | |
--GROUP BY c.name | |
--6. Показать количество товаров каждой категории, при этом учитывая только те товары, стоимость поставни которых | |
--превышала 400 гривен. Условие: выведенная информация касается только трёх определённых поставщиков | |
--SELECT | |
--c.name AS Категория, | |
--COUNT(p.name) AS [Количество товаров из категории], | |
--sr.name AS Поставщик | |
--FROM Category c | |
--JOIN Product p ON p.id_category = c.id | |
--JOIN Delivery d ON d.id_product = p.id | |
--JOIN Supplier sr ON d.id_supplier = sr.id | |
--WHERE sr.name IN('Dairy World', 'Global Bakery', 'Green Fields') | |
--GROUP BY c.name, sr.name | |
--HAVING SUM(d.quantity * d.price) > 400 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment