Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Vladislav-Melenchuk/a94c41c632ca719fc8faeaaf4471dfc2 to your computer and use it in GitHub Desktop.
Save Vladislav-Melenchuk/a94c41c632ca719fc8faeaaf4471dfc2 to your computer and use it in GitHub Desktop.
HW_2
1. Посчитать возможную выручку за хлеб и молоко (с учётом скидок на эти товары)
SELECT SUM((price - (price * discount / 100)) * quantity)
FROM Product
WHERE name IN ('Хлеб', 'Молоко')
2. Получить информацию о том, каких товаров вчера и сегодня доставили более 10 штук (getdate, dateadd)
SELECT name , quantity, date_of_delivery
FROM Product
WHERE date_of_delivery IN (CAST(GETDATE()AS DATE), DATEADD(DAY, -1, CAST(GETDATE() AS DATE))) AND quantity > 10
3. Показать названия и цены товаров, доставленных на протяжении последнего месяца.
SELECT name, price, date_of_delivery
FROM Product
WHERE date_of_delivery > DATEADD(month, -1, Getdate())
4. Показать на экран названия и цены товаров с категорией "Кондитерские изделия", но только не торговой марки "Roshen"
SELECT name, price
FROM Product
WHERE category = 'Кондитерские изделия' AND producer NOT IN ('Roshen')
5. Показать на экран все товары, название которых начинается на букву "К", и категория которых содержит букву "А"
SELECT name, category
FROM Product
WHERE name LIKE 'К%' AND category LIKE '%а%'
6. Показать на экран все товары, названия которых начинаются с "В" и по "Л" включительно
SELECT name
FROM Product
WHERE name BETWEEN 'В' AND 'Л'
7. Показать все товары стоимостью меньше 50 гривен, и датой поставки неделю назад от текущей даты
SELECT name, price
FROM Product
WHERE price < 50
AND date_of_delivery = CAST(DATEADD(DAY, -7, GETDATE()) AS DATE)
8. Показать все товары категории "Безалкогольные напитки", количество которых более 100
SELECT name, category
FROM Product
WHERE category = 'Безалкогольные напитки' AND quantity > 100
9. Получить информацию о товарах ценой от 100 до 200 гривен, отсортировать цену по возрастанию
SELECT name, price
FROM Product
WHERE price between 100 AND 200
ORDER BY price
10. Уменьшить цены на все товары на 5%
UPDATE Product
SET price = price * 95 / 100
11. Проставить сегодняшнюю дату доставки на все товары, в которых такая информация отсутствует
UPDATE Product
SET date_of_delivery = CAST(GETDATE() AS DATE)
WHERE date_of_delivery IS NULL
12. Удалить все товары, количество которых меньше 100, а цена более 70 гривен
DELETE FROM Product
WHERE quantity < 100 AND price > 70
13. Удалить все алкогольные напитки и кондитерские изделия
DELETE FROM Product
WHERE category IN ('Алкогольные напитки', 'Кондитерские изделия')
14. Показать на экран все товары, в названии которых содержится РОВНО 3 буквы "О" (в любых местах названия, не обязательно подряд)
SELECT name
FROM Product
WHERE name LIKE '%о%о%о%'
15. Удалить все товары, названия которых состоят из 5 букв
DELETE FROM Product
WHERE LEN(name) = 5
16. Удалить все товары, дата доставки которых была более 3 месяцев назад от текущей даты
DELETE FROM Product
WHERE date_of_delivery < DATEADD(MONTH, -3, GETDATE())
17. Показать 5 самых дорогих товаров
SELECT TOP 5 name, category, price
FROM Product
ORDER BY price DESC
18. Удалить все товары, информация о производителе которых неизвестна, или же если скидка на эти товары более 10%
DELETE FROM 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