практика 'Транзакции'

This commit is contained in:
mnoskov
2026-03-13 10:39:23 +03:00
parent 2bb2b78dce
commit da6270bf90
5 changed files with 26 additions and 0 deletions
@@ -0,0 +1,78 @@
-- Задание 1
SELECT
name,
category,
price,
price * 1.30 AS price_with_markup,
price * 1.50 AS price_with_vat
FROM
mnoskov.products
WHERE
in_stock = TRUE AND
category != 'smartwatch' AND -- категории smartwatch нет в предоставленных данных для заполнения
price BETWEEN 100 AND 1300;
-- Что лучше читается BETWEEN 100 AND 1300 или price >= 100 AND price <= 1300 и почему?
-- Лучше читается первый вариант, потому что просто прочитал и понял, а не думаешь над знаками, и первый вариант короче
-- Задание 2
SELECT
name,
price,
price * 0.85 AS price_with_discount
FROM
mnoskov.products
WHERE
(price < 100 OR price > 1000);
-- Нужно отделять OR скобками, потому что если в условии будет ещё и AND, то логика может поломаться потому что AND выполняется раньше чем OR
-- Задание 3
SELECT
id,
name,
category,
price
FROM
mnoskov.products
WHERE
category IN ('tablet', 'smartphone', 'mouse') AND
price >= 100
ORDER BY
price DESC;
--Задание 4
SELECT
name,
category,
price
FROM
mnoskov.products
WHERE
name NOT LIKE '%iPhone%';
-- Задание 5
-- 1)
SELECT
name,
category,
price
FROM
mnoskov.products
WHERE
name ILIKE '%pro%';
-- 2)
SELECT
name,
category,
price
FROM
mnoskov.products
WHERE
name ILIKE '%mx%'
ORDER BY
price DESC;
-- Для поисковой строи лучше ILIKE, потому что он не учитывает регистр - кто-то пишет с большой буквы, кто-то с маленькой, а кто-то случайно включил капс.