Skip to content

Instantly share code, notes, and snippets.

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