omparação @MySQL com valor nulo

Eu tenho uma coluna chamada CODE em uma tabela MySQL que pode ser NULL. Digamos que eu tenha algumas linhas com CODE = 'C' que desejo ignorar no meu conjunto de resultados selecionado. Posso ter CODE = NULL ou CODE! = 'C' no meu conjunto de resultados.

A consulta a seguir não retorna uma linha com CODE como NULL:

SELECT * from TABLE where CODE!='C'

Mas essa consulta funciona conforme o esperado e eu sei que é o caminho certo para fazê-l

SELECT * from TABLE where CODE IS NULL OR CODE!='C'

Minha pergunta é por que ter apenas CODE! = 'C' não retorna linhas onde CODE = NULL? Definitivamente 'C' não é NULL. Não estamos comparando valor a um personagem aqui. Alguém pode lançar alguma luz porque não funciona dessa maneira?

questionAnswers(10)

yourAnswerToTheQuestion