Skip to content

Instantly share code, notes, and snippets.

@VKONSTANTINIUS
Created March 18, 2025 22:26
Show Gist options
  • Save VKONSTANTINIUS/e142c9160f567ae23ffb56340b69431b to your computer and use it in GitHub Desktop.
Save VKONSTANTINIUS/e142c9160f567ae23ffb56340b69431b to your computer and use it in GitHub Desktop.
-- 1. Порахувати можливий дохід за хліб та молоко (з урахуванням знижок на ці товари)
SELECT
name AS 'Назва товару',
category AS 'Група товарів',
price * quantity * (1 - discount * 0.01) AS 'Плановий дохід'
FROM [ATB].[dbo].[Product]
WHERE category = 'Хлібобулочні вироби' OR category = 'Молочні продукти'
ORDER BY name
--2. Отримати інформацію про товари, які були доставлені вчора і сьогодні більше 10 одиниць (getdate, dateadd)
SELECT * FROM [ATB].[dbo].[Product]
WHERE date_of_delivery BETWEEN DATEADD(DAY, -1, GETDATE()) AND GETDATE() AND quantity > 10
ORDER BY date_of_delivery
--3. Показати назви та ціни товарів, доставлених протягом останнього місяця
SELECT
name AS 'Назва товару',
price AS 'Ціна товару'
FROM [ATB].[dbo].[Product]
WHERE date_of_delivery BETWEEN DATEADD(MONTH, -1, GETDATE()) AND GETDATE()
ORDER BY name
--4. Показати на екран назви та ціни товарів з категорії "Кондитерські вироби", але тільки не торгової марки "Roshen"
SELECT
name AS 'Назва товару',
price AS 'Ціна товару'
FROM [ATB].[dbo].[Product]
WHERE category = 'Кондитерські вироби' AND producer <> 'Рошен'
ORDER BY name
--5. Показати на екран усі товари, назви яких починаються на букву "К", а категорії містять букву "А"
SELECT
name AS 'Назва товару',
category AS 'Група товарів'
FROM [ATB].[dbo].[Product]
WHERE name LIKE 'К%' AND category LIKE '%а%'
ORDER BY name
--6. Показати на екран усі товари, назви яких починаються з "В" і до "Л" включно
SELECT
name AS 'Назва товару',
category AS 'Група товарів'
FROM [ATB].[dbo].[Product]
WHERE name LIKE '[В-Л]%'
ORDER BY name
--7. Показати всі товари, вартість яких менше 50 гривень, і дата постачання яких тиждень тому від поточної дати
SELECT *
FROM [ATB].[dbo].[Product]
WHERE price < 50 AND date_of_delivery BETWEEN DATEADD(WEEK, -1, GETDATE()) AND GETDATE()
ORDER BY name
--8. Показати всі товари категорії "Безалкогольні напої", кількість яких більше 100
SELECT *
FROM [ATB].[dbo].[Product]
WHERE category = 'Безалкогольні напої' AND quantity > 100
ORDER BY name
--9. Отримати інформацію про товари ціни від 100 до 200 гривень, відсортувавши ціну за зростанням
SELECT *
FROM [ATB].[dbo].[Product]
WHERE price BETWEEN 100 AND 200
ORDER BY price
--10. Зменшити ціни на всі товари на 5%
UPDATE [ATB].[dbo].[Product]
SET price = price * 0.95
--11. Встановити сьогоднішню дату поставки на всі товари, у яких така інформація відсутня
UPDATE [ATB].[dbo].[Product]
SET date_of_delivery = GETDATE()
WHERE date_of_delivery IS NULL
--12. Видалити всі товари, кількість яких менше 100, а ціна більше 70 гривень
DELETE FROM [ATB].[dbo].[Product]
WHERE quantity < 100 AND price > 70
--13. Видалити всі алкогольні напої та кондитерські вироби
DELETE FROM [ATB].[dbo].[Product]
WHERE category = 'Алкогольні напої' OR category = 'Кондитерські вироби'
--14. Показати на екран усі товари, у назві яких міститься РІВНО 3 літери "О" (в будь-яких місцях назви, не обов'язково підряд)
SELECT
name AS 'Назва товару',
category AS 'Група товарів'
FROM [ATB].[dbo].[Product]
WHERE name LIKE '%О%О%О%'
ORDER BY name
--15. Видалити всі товари, назва яких складається з 5 літер
DELETE FROM [ATB].[dbo].[Product]
WHERE LEN(name) = 5
--16. Видалити всі товари, дата доставки яких була більше 3 місяців тому від поточної дати
DELETE FROM [ATB].[dbo].[Product]
WHERE date_of_delivery < DATEADD(MONTH, -3, GETDATE())
--17. Показати 5 найдорожчих товарів
SELECT TOP 5 *
FROM [ATB].[dbo].[Product]
ORDER BY price DESC
--18. Видалити всі товари, інформація про виробника яких невідома, або ж якщо знижка на ці товари більше 10%
DELETE FROM [ATB].[dbo].[Product]
WHERE producer IS NULL OR discount > 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment