departments.department_id содержит NULL…При использовании
NOT IN значение NULL в подзапросе может привести к результату сравнения UNKNOWN, из-за чего запрос может не вернуть ни одной строки.Более надёжный подход:
SELECT e.name
FROM employees e
WHERE NOT EXISTS (
SELECT 1
FROM departments d
WHERE d.department_id = e.department_id
AND d.status = 'inactive'
);
NOT IN + NULL = классическая ловушка SQL. Обычно NOT EXISTS — более безопасный выбор.👉 @SQLPortal