С https://dev.mysql.com/doc/refman/8.0/en/problems-with-null.html:
В SQL значение NULL никогда не является истинным по сравнению с любым другим значением, даже NULL. Выражение, содержащее NULL, всегда создает значение NULL, если иное не указано в документации для операторов и функций, участвующих в выражении.
NULL
значения представляют отсутствующие неизвестные данные.
И NULL
значения обрабатываются иначе, чем другие значения .
Для NULL
значений с операторами сравнения, таких как =
, <
или <>
, проверить невозможно.
Это правило. Таким образом, вы можете использовать только операторы IS NULL
или IS NOT NULL
.