Vamos a hacer una aclaración: Hay dos situaciones donde un campo de un registro puede estar vacío: 1) Es NULL, y 2) Contiene un caracter vacío.
Ambas situaciones no son iguales.
NULL no es un dato, por lo que no puede usarse una comparación lógica para detectarlo. NULL es un
estado de indefinición, y no es lo mismo que tener un espacio en blanco, un vacío o un cero.
UN caracter vacío es un caracter real, y si lo validas como ULL resultará FALSE, ya que no es NULL.
En definitiva, para descartar los "vacíos", hay que restringir ambas situaciones, ya que por errores de programación pueden haber ingresado un caracter vacío en lugar de NULL, lo que te podría dar resultados erroneos.
La idea sería:
Cuidado: Los paréntesis son necesarios.