У меня есть столбец CODE в таблице MySQL, который может быть NULL. Скажем, у меня есть несколько строк с CODE = 'C', которые я хочу игнорировать в моем наборе результатов выбора. Я могу иметь либо CODE = NULL, либо CODE!= 'C' в моем результирующем наборе.
Следующий запрос не возвращает строку с CODE как NULL:
SELECT * from TABLE where CODE!='C'
Но этот запрос работает так, как ожидалось, и я знаю, что это правильный способ сделать это.
SELECT * from TABLE where CODE IS NULL OR CODE!='C'
Мой вопрос в том, почему имеет только CODE!= 'C' не возвращает строки, где CODE = NULL? Определенно "C" не является NULL. Здесь мы не сравниваем значение с персонажем. Может кто-то бросить какой-то свет, почему он не работает таким образом?