SQL absolutely does have that problem. You have no way of enforcing or checking that an expression is supposed to be non-NULL; at best you get an error at runtime when you try to insert it into a given column, which is usually far too late.
This is only a problem insofar as any data constraint is a problem.
Sql does not have this problem.