A null value tells you the value for that row is either missing, unknown, not yet know or inapplicable. Placing a zero in the row would not reflect the accurate state of the row, because zero is a value. This way you can search for missing data and SQL supports the notion of null values.