Tak jest w SQL (jako języku logicznym), ponieważ null oznacza nieznane/nieokreślone.
Jednak w językach programowania (takich jak powiedz, C++ lub C#) pusty wskaźnik/odwołanie jest konkretną wartością o określonym znaczeniu -- nic.
Dwie nicości są równoważne, ale dwie niewiadome nie. Zamieszanie wynika z faktu, że dla obu pojęć użyto tej samej nazwy (null).