Есть таблица workers
+------+----------+-------+
| id | name | chief |
+------+----------+-------+
| 1 | Ivanov | NULL |
| 2 | Petrov | 1 |
| 3 | Sidorova | 2 |
| 4 | Antonov | NULL |
+------+----------+-------+
Необходимо выбрать сотрудников, не являющихся ни чьими руководителями.
Вопрос: почему не работает запрос
SELECT name FROM workers WHERE chief = NULL;
Он выдаёт Empty set (0.00 sec).
Как совершенно справедливо заметил Герман Борисов, Ваш исправленный запрос вернет сотрудников, не являющихся ни чьими подчиненными.
Если Вы хотите выбрать сотрудников, не являющихся ни чьими руководителями, то Вам нужен например, такой запрос:
SELECT name FROM workers WHERE Id NOT IN (SELECT DISTINCT chief FROM workers WHERE chief IS NOT NULL)
Продвижение своими сайтами как стратегия роста и независимости