--таск 1 SELECT id, name, 'active' AS user_status FROM users WHERE is_active IS TRUE UNION ALL SELECT id, name, 'inactive' AS user_status FROM users WHERE is_active IS FALSE ORDER BY name; /*1. Что будет, если вместо **`UNION ALL`** написать **`UNION`**? - Попробуй и запиши, изменилось ли количество строк. В данном случае ничего не поменяется, но вообще если бы были одинаковые строчки в двух запросах, то дубликаты бы удалились Зачем в результат добавлять колонку user_status, если флаг активности уже есть в таблице users? Чтобы уйти от булевые true и false и перейти к нормально-читаемым */ --таск 2 SELECT id AS order_id, user_id, order_date, 'old' AS period FROM orders o WHERE order_date < '2024-01-01' UNION ALL SELECT id AS order_id, user_id, order_date, 'new' AS period FROM orders o WHERE order_date >= '2024-01-01' ORDER BY order_date, order_id; /*Как ты по колонке period поймёшь, сколько заказов было до и после даты‑границы (словами, без SQL)? */ --task 3 SELECT DISTINCT oi.product_id, p.name AS product_name, 'ordered' product_status FROM products p JOIN order_items oi ON oi.product_id = p.id UNION ALL SELECT oi.product_id, p.name AS product_name, 'never_ordered' product_status FROM products p LEFT JOIN order_items oi ON oi.product_id = p.id WHERE oi.product_id IS NULL ORDER BY product_name /* 1. Почему в запросе на «не покупали» проверка IS NULL должна быть по полю из order_items, а не из products? Потому что именно в order_items фиксируются заказанные позиции, а в products просто наименования товаров и не важно кто-то их покупал или нет. 2.Какой сигнал для бизнеса даёт список с product_status = 'never_ordered' (1–2 идеи: что можно с этими товарами сделать)? Что эти товары себя никаким образом не окупают, возмонжо их вообще стоит убрать из ассортимента. */