Skip to content

Instantly share code, notes, and snippets.

@Makc082
Created March 10, 2025 16:27
Show Gist options
  • Select an option

  • Save Makc082/1b0bb27e890c17c627a94f3d680199ec to your computer and use it in GitHub Desktop.

Select an option

Save Makc082/1b0bb27e890c17c627a94f3d680199ec to your computer and use it in GitHub Desktop.
My homework
--1. Порахувати можливий дохід за хліб та молоко (з урахуванням знижок на ці товари)( якщо знижки в відсотках (наприклад 5%)- price / 1.05 * quantity )
Select name, (price - discount) * quantity AS [загальна вартість]
FROM Product
WHERE name IN ('Йогурт фрукт. пак. 400г.', 'Сметана 20% пак. 200г.')
--2. Отримати інформацію про товари, які були доставлені вчора і сьогодні більше 10 одиниць (getdate, dateadd)
Select*
FROM Product
WHERE date_of_delivery IN (CAST(GETDATE() -9 AS DATE), CAST(GETDATE() -11 AS DATE))
--3. Показати назви та ціни товарів, доставлених протягом останнього місяця
Select name, price
FROM Product
WHERE date_of_delivery < '2025-03-31' AND date_of_delivery > '2025-02-28'
--4. Показати на екран назви та ціни товарів з категорії "Кондитерські вироби", але тільки не торгової марки "Roshen"
Select name, price
FROM Product
WHERE category = 'Кондитерські вироби' AND producer != 'Trumpf'
--5. Показати на екран усі товари, назви яких починаються на букву "К", а категорії містять букву "А"
Select *
FROM Product
WHERE name LIKE 'К%' AND category LIKE '%А%'
--6. Показати на екран усі товари, назви яких починаються з "В" і до "Л" включно
Select *
FROM Product
WHERE name LIKE '[В-Л]%'
--7. Показати всі товари, вартість яких менше 50 гривень, і дата постачання яких тиждень тому від поточної дати
Select *
FROM Product
WHERE price < 50 AND date_of_delivery = CAST(GETDATE() -9 AS DATE)
--8. Показати всі товари категорії "Безалкогольні напої", кількість яких більше 100
Select *
FROM Product
WHERE category = 'Слабоалкогольні напої' AND quantity > 10
--9. Отримати інформацію про товари ціною від 100 до 200 гривень, відсортувавши ціну за зростанням
Select *
FROM Product
WHERE price > 40 AND price < 70
ORDER BY price
--10. Зменшити ціни на всі товари на 5%
Select name, ROUND (price / 1.05, 2)
FROM Product
--11. Встановити сьогоднішню дату доставки на всі товари, у яких така інформація відсутня
UPDATE Product
SET date_of_delivery = CAST(GETDATE() AS DATE)
WHERE date_of_delivery != CAST(GETDATE() AS DATE)
Select *
FROM Product
WHERE date_of_delivery = CAST(GETDATE() AS DATE)
--12. Видалити всі товари, кількість яких менше 100, а ціна більше 70 гривень
DELETE Product
WHERE quantity < 20 AND price > 40
Select *
FROM Product
--13. Видалити всі алкогольні напої та кондитерські вироби
DELETE Product
WHERE category IN ('Слабоалкогольні напої', 'Кондитерські вироби')
Select *
FROM Product
--14. Показати на екран усі товари, у назві яких міститься РІВНО 3 літери "О" (в будь-яких місцях назви, не обов'язково підряд)
Select *
FROM Product
WHERE LEN(name) - LEN(REPLACE(name, 'У', '')) >= 2
--15. Видалити всі товари, назви яких складаються з 5 літер
DELETE Product
WHERE LEN(name) <= 16
Select *
FROM Product
--16. Видалити всі товари, дата доставки яких була більше 3 місяців тому від поточної дати
DELETE Product
WHERE date_of_delivery = CAST(GETDATE() -20 AS DATE)
Select *
FROM Product
--17. Показати 5 найдорожчих товарів
Select TOP 5 *
FROM Product
ORDER BY price DESC
--18. Видалити всі товари, інформація про виробника яких невідома, або ж якщо знижка на ці товари більше 10%
DELETE Product
WHERE producer = NULL OR discount > 5
Select *
FROM Product
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment