Las preguntas sobre NULL son algo recurrente, y las respuesta tiende a ser siempre la misma. Te sugiero usar el buscador del Foro antesque nada.
El tema es así: NULL
no es un dato, es un estado. Como no es un dato, no pueden usarse con el operadores lógicos porque un operador analiza DATOS, y
NULL es en realidad un puntero a la nada o un estado de indeterminación. Como la nada o es analizable y la indeterminaciones tampoco, no se puede operar de la forma que lo haces.
De todos modos hay funciones que permiten establecer ese estado. Lo que debes hacer es tan simple como :
Ahora bien,
ten en cuenta que NULL no es lo mismo que vacío. El vacío o caracter vacío (), es un dato. Por ello, si el contenido de ese campo es vacío, no será devuelto por esta consulta.
Otro detalle que tienes que tener en cuenta es que NULL es lo que se denominaría un destructor. Cualquier operación hecha con un campo, variable u objeto que contenga un NULL devuelve NULL. TEn cuidado con las operaciones aritméticas con campos que puedan contenerlo.