Сначала попробуйте сами: на собеседовании подсказки не будет.
Два независимых условия на существование: «были заказы до 2026» и «нет заказов в 2026». Это EXISTS и NOT EXISTS по одной и той же таблице заказов, но с разными фильтрами по дате.
NOT IN (SELECT customer_id ...) здесь опасен: если в подзапросе встретится NULL, весь NOT IN вернёт пустой результат. NOT EXISTS от NULL не страдает.
SELECT c.customer_id FROM customers c WHERE c.segment = 'vip' AND EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id AND o.created_at < '2026-01-01') AND NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id AND o.created_at >= '2026-01-01')