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