Skip to content

Instantly share code, notes, and snippets.

@SlavikArt
Created December 24, 2023 21:47
Show Gist options
  • Save SlavikArt/0f69824336eb6512ce6649c346b40b08 to your computer and use it in GitHub Desktop.
Save SlavikArt/0f69824336eb6512ce6649c346b40b08 to your computer and use it in GitHub Desktop.
Product SQL Queries
/* 0. Основная таблица что бы можно было сравнить с другими */
--SELECT * FROM [master].[dbo].[Product]
/* 1. Посчитать возможную выручку за хлеб и молоко (с учётом скидок на эти товары)
если нет товаров с такими названиями, взять 2 любых других названия */
--SELECT SUM(price * quantity * (1 - discount / 100)) AS revenue
--FROM [master].[dbo].[Product]
--WHERE name IN ('Хлеб', 'Молоко')
/* 2. Получить информацию о том, каких товаров вчера и сегодня доставили более 10 штук (getdate, dateadd) */
--SELECT name, quantity
--FROM [master].[dbo].[Product]
--WHERE date_of_delivery BETWEEN DATEADD(day, -1, '2022-03-13') AND '2022-03-13'
--AND quantity > 10
/* 10. Уменьшить цены на все товары на 5% (запросом на UPDATE) */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[Product5PercentDiscount] FROM [master].[dbo].[Product]
--UPDATE [master].[dbo].[Product5PercentDiscount]
--SET price = price - (price / 100 * 5)
--SELECT * FROM [master].[dbo].[Product5PercentDiscount]
/* 11. Проставить сегодняшнюю дату доставки на все товары, в которых такая информация отсутствует
(это тоже UPDATE) */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[ProductTodaysDates] FROM [master].[dbo].[Product]
--UPDATE [master].[dbo].[ProductTodaysDates]
--SET date_of_delivery = GETDATE()
--WHERE date_of_delivery IS NULL
--SELECT * FROM [master].[dbo].[ProductTodaysDates]
/* 12. Удалить все товары, количество которых меньше 100, а цена более 70 гривен */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[ProductDeleteQuantityLessThan100] FROM [master].[dbo].[Product]
--DELETE FROM [master].[dbo].[ProductDeleteQuantityLessThan100]
--WHERE quantity < 100 AND price > 70
--SELECT * FROM [master].[dbo].[ProductDeleteQuantityLessThan100]
/* 13. Удалить все алкогольные напитки и кондитерские изделия */
/* Добавил 1 алкогольный напиток (пиво) и 1 кондитерское изделие (печенье) */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[ProductBeerCookies] FROM [master].[dbo].[Product]
--DELETE FROM [master].[dbo].[ProductBeerCookies]
--WHERE category IN ('Алкогольные напитки', 'Кондитерские изделия')
--SELECT * FROM [master].[dbo].[ProductBeerCookies]
/* 16. Удалить все товары, дата доставки которых была более 3 месяцев назад от текущей даты */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[ProductLessThan3Month] FROM [master].[dbo].[Product]
--DELETE FROM [master].[dbo].[ProductLessThan3Month]
--WHERE date_of_delivery < DATEADD(month, -3, GETDATE())
--SELECT * FROM [master].[dbo].[ProductLessThan3Month]
/* 18. Удалить все товары, информация о производителе которых неизвестна,
или же если скидка на эти товары более 10% */
/* Сделал копию таблицы */
--SELECT * INTO [master].[dbo].[ProductNoProducerOrDiscount] FROM [master].[dbo].[Product]
--DELETE FROM [master].[dbo].[ProductNoProducerOrDiscount]
--WHERE producer IS NULL OR discount > 10
--SELECT * FROM [master].[dbo].[ProductNoProducerOrDiscount]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment