Created
March 14, 2025 03:51
-
-
Save Helen460/91008fc8f7cebe29960cbb198841b44a to your computer and use it in GitHub Desktop.
Домашнє завдання по запитах
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, quantity, ROUND(price * (1 - discount / 100) * quantity, 2) AS [income] | |
| FROM Products | |
| WHERE name IN ('bread', 'milk') | |
| --2. Отримати інформацію про товари, які були доставлені вчора і сьогодні більше 10 одиниць (getdate, dateadd) | |
| SELECT name, price, quantity, date_of_delivery | |
| FROM Products | |
| WHERE (date_of_delivery = CAST(GETDATE() AS DATE) OR date_of_delivery = CAST(DATEADD(DAY, -1, GETDATE()) AS DATE)) AND quantity > 10 | |
| --3. Показати назви та ціни товарів, доставлених протягом останнього місяця | |
| SELECT name, price | |
| FROM Products | |
| WHERE date_of_delivery >= DATEADD(MONTH, -1, GETDATE()) | |
| --4. Показати на екран назви та ціни товарів з категорії "Кондитерські вироби", але тільки не торгової марки "Roshen" | |
| SELECT name, price | |
| FROM Products | |
| WHERE category = 'sweets' AND producer != 'Roshen' | |
| --5. Показати на екран усі товари, назви яких починаються на букву "К", а категорії містять букву "А" | |
| SELECT name, price, category | |
| FROM Products | |
| WHERE name LIKE 'К%' AND category LIKE '%А%' | |
| --6. Показати на екран усі товари, назви яких починаються з "В" і до "Л" включно | |
| SELECT name, price | |
| FROM Products | |
| WHERE name LIKE '[В-Л]%' | |
| --7. Показати всі товари, вартість яких менше 50 гривень, і дата постачання яких тиждень тому від поточної дати | |
| SELECT name, price, date_of_delivery | |
| FROM Products | |
| WHERE price < 50 AND date_of_delivery = DATEADD(DAY, -7, GETDATE()) | |
| --8. Показати всі товари категорії "Безалкогольні напої", кількість яких більше 100 | |
| SELECT name, price, quantity, category | |
| FROM Products | |
| WHERE category = 'drinks' AND quantity > 100 | |
| --9. Отримати інформацію про товари ціною від 100 до 200 гривень, відсортувавши ціну за зростанням | |
| SELECT name, price | |
| FROM Products | |
| WHERE price > 100 AND price < 200 | |
| ORDER BY price ASC | |
| --10. Зменшити ціни на всі товари на 5% | |
| UPDATE Products | |
| SET price = ROUND(price * 0.95, 2) | |
| --11. Встановити сьогоднішню дату доставки на всі товари, у яких така інформація відсутня | |
| UPDATE Products | |
| SET date_of_delivery = CAST(GETDATE() AS DATE) | |
| WHERE date_of_delivery IS NULL; | |
| --12. Видалити всі товари, кількість яких менше 100, а ціна більше 70 гривень | |
| DELETE FROM Products | |
| WHERE quantity < 100 AND price > 70 | |
| --13. Видалити всі алкогольні напої та кондитерські вироби | |
| DELETE FROM Products | |
| WHERE category IN ('drinks', 'sweets') | |
| --14. Показати на екран усі товари, у назві яких міститься РІВНО 3 літери "О" (в будь-яких місцях назви, не обов'язково підряд) | |
| SELECT name, price | |
| FROM Products | |
| WHERE name LIKE '%О%О%О%' | |
| --15. Видалити всі товари, назви яких складаються з 5 літер | |
| DELETE FROM Products | |
| WHERE LEN(name) = 5 | |
| --16. Видалити всі товари, дата доставки яких була більше 3 місяців тому від поточної дати | |
| DELETE FROM Products | |
| WHERE date_of_delivery < DATEADD(MONTH, -3, GETDATE()) | |
| --17. Показати 5 найдорожчих товарів | |
| SELECT TOP 5 name, price | |
| FROM Products | |
| ORDER BY price DESC | |
| --18. Видалити всі товари, інформація про виробника яких невідома, або ж якщо знижка на ці товари більше 10% | |
| DELETE FROM Products | |
| 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