Created
February 21, 2025 17:58
-
-
Save Vladislav-Melenchuk/a94c41c632ca719fc8faeaaf4471dfc2 to your computer and use it in GitHub Desktop.
HW_2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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