Lo primero que deberías aclarar es que sistema gestor de BBDD utilizas.
Como se ha dicho en los mensajes anteriores algunos como ORACLE consideran la cadena vacía como NULL.
Otros SGBD's como Sql-Server no consideran la cadena vacía como un NULL (guardan un signo de final de cadena del estilo de \n o \n\r) por lo tanto guardan algo y el campo no es NULL.
Has hecho las siguientes pruebas:
SELECT * FROM TABLA1 -- EL RESULTADO ES OK(100 REGISTROS)
SELECT * FROM TABLA1 WHERE NOMBRE IS NULL --- EL RESUALTADO ES 85
SELECT * FROM TABLA1 WHERE NOMBRE = ' ' --- EL RESULTADO ES 2
Supongo que cuando has puesto NOMBRE querías decir APELLIDO, has dicho que habías borrado apellidos no nombres...
En tu última consulta has puesto un espacio en blanco entre las comillas simples.... eso no es NULL es una cadena con un espacio en blanco!!
Que significa el resultado de tus consultas?
1- tienes 100 registros.
2- 85 registros tienen "APELLIDO" nulo (NULL) sin apellido, vacíos
3- 2 registros tienen "APELLIDO" = "espacio en blanco"
(También decías que habías dejado en la tabla 13 registros con nombre y apellido)
Conclusión: 85 nulos + 2 con espacio en blanco + 13 con apellidos = 100.