Created
February 7, 2025 16:04
-
-
Save Mark-Uri/e2838d3f701d0b35f5c2a4f89bcf2880 to your computer and use it in GitHub Desktop.
sql
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 name,price,discount, | |
-- SUM(price * (1 - COALESCE(discount, 0)/100)) OVER() AS [Сумма] | |
-- FROM Product | |
-- WHERE name LIKE '%Молоко%' OR name LIKE '%Батон' | |
2. Получить информацию о том, каких товаров вчера и сегодня доставили более 10 штук (getdate, dateadd) | |
-- SELECT name, date_of_delivery,quantity | |
-- FROM Product | |
-- WHERE quantity > 10 AND date_of_delivery BETWEEN DATEADD(day, -1, CAST(GETDATE() AS DATE)) AND CAST(GETDATE() AS DATE); | |
3. Показать названия и цены товаров, доставленных на протяжении последнего месяца. | |
SELECT name, price | |
FROM Product | |
WHERE date_of_delivery > DATEADD(day, -30, CAST(GETDATE() AS DATE)) | |
4. Показать на экран названия и цены товаров с категорией "Кондитерские изделия", но только не торговой марки "Roshen" | |
Так как у меня категория "Кондитерские изделия" имеет названые "Сладости"и торговой марки "Roshen" тоже нету то будет "МилкаПол" | |
Задачу решу имеея свои условия. | |
SELECT name, price | |
FROM Product | |
WHERE category = 'Сладости' AND supplier != 'МилкаПол' | |
5. Показать на экран все товары, название которых начинается на букву "К", и категория которых содержит букву "А" | |
SELECT name, price | |
FROM Product | |
WHERE name LIKE 'К%' AND category LIKE '%а%' | |
6. Показать на экран все товары, названия которых начинаются с "В" и по "Л" включительно | |
SELECT * | |
FROM Product | |
WHERE name LIKE 'В%' OR (name >= 'В' AND name <= 'Л') | |
7. Показать все товары стоимостью меньше 50 гривен, и датой поставки неделю назад от текущей даты | |
SELECT * | |
FROM Product | |
WHERE price<50 AND date_of_delivery > DATEADD(day, -7, CAST(GETDATE() AS DATE)) | |
8. Показать все товары категории "Безалкогольные напитки", количество которых более 100 | |
SELECT * | |
FROM Product | |
WHERE category = 'Безалкогольные напитки' AND quantity > 100 | |
9. Получить информацию о товарах ценой от 100 до 200 гривен, отсортировать цену по возрастанию | |
SELECT * | |
FROM Product | |
WHERE price BETWEEN 100 AND 200 | |
ORDER BY price | |
10. Уменьшить цены на все товары на 5% | |
SELECT name, price,ROUND(price * 5 / 100, 2) AS [Скидка], | |
ROUND(price - price * 5 / 100, 2) AS [Стоимость товара] | |
FROM Product | |
11. Проставить сегодняшнюю дату доставки на все товары, в которых такая информация отсутствует | |
UPDATE Product | |
SET date_of_delivery = GETDATE() | |
WHERE date_of_delivery IS NULL; | |
12. Удалить все товары, количество которых меньше 100, а цена более 70 гривен | |
SELECT * | |
FROM Product | |
DELETE FROM Product | |
WHERE discount <100 AND price > 70 | |
13. Удалить все алкогольные напитки и кондитерские изделия | |
SELECT * | |
FROM Product | |
DELETE FROM Product | |
WHERE category LIKE 'Напитки' AND category LIKE 'Kондитерские изделия' | |
14. Показать на экран все товары, в названии которых содержится РОВНО 3 буквы "О" (в любых местах названия, не обязательно подряд) | |
SELECT * | |
FROM Product | |
WHERE (LEN(name) - LEN(REPLACE(name, 'О', ''))) = 3 | |
15. Удалить все товары, названия которых состоят из 5 букв | |
SELECT name | |
FROM Product | |
DELETE FROM Product | |
WHERE LEN(name) = 5 | |
16. Удалить все товары, дата доставки которых была более 3 месяцев назад от текущей даты | |
SELECT * | |
FROM Product | |
DELETE FROM Product | |
WHERE date_of_delivery < DATEADD(day, -90, CAST(GETDATE() AS DATE)) | |
17. Показать 5 самых дорогих товаров | |
SELECT TOP 5 name,price | |
FROM Product | |
ORDER BY price DESC; | |
18. Удалить все товары, информация о производителе которых неизвестна, или же если скидка на эти товары более 10% | |
SELECT * | |
FROM Product | |
DELETE FROM Product | |
WHERE supplier = NULL OR discount > 10 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment