Lesson 1.5 · Reading time: ~7 min
NULL is the special marker relational databases use when a value is missing, unknown, or not applicable. In this lesson, you will learn what NULL really means, how it differs from ordinary values, and how to work with it safely in comparisons and simple queries.
In the previous lessons, we looked at relational concepts and data types. Now we need to understand what happens when a column does not contain a meaningful value at all.

NULL does not mean a normal stored value. It is a special marker that tells the database that the value is missing, unknown, or not applicable.
This is important because NULL does not behave like text, numbers, or boolean values. It follows its own rules in comparisons, filtering, and calculations.
To avoid confusion, remember what NULL is not:
'' is still text, even if it contains no characters.Databases use NULL when a value cannot be filled in normally.
Typical cases:
Because NULL represents an unknown state, standard comparison operators such as = and <> do not work correctly with it.
For example, value = NULL does not return true. To check NULL properly, use special operators.
Use IS NULL to find rows where a column has no value:
SELECT *
FROM address
WHERE address2 IS NULL;
Use IS NOT NULL to find rows where a column contains some value:
SELECT *
FROM address
WHERE address2 IS NOT NULL;
One of the most important rules is that NULL often propagates. If you use NULL in a calculation, the result is usually NULL as well.
10 + NULL = NULL5 * NULL = NULL'Hello ' + NULL = NULLThe same idea affects comparisons. Since NULL means "unknown," many expressions involving NULL also return an unknown result rather than true or false.
Key takeaways from this lesson:
NULL represents missing, unknown, or non-applicable data.NULL is different from zero, empty strings, and boolean false.= and <> do not work correctly with NULL.IS NULL and IS NOT NULL when filtering NULL values.No. An empty string is still a text value with zero characters. NULL means there is no known value stored.
value = NULL not work?Because NULL means "unknown," and standard comparison operators are not designed to test that state. Use IS NULL instead.
Yes. NULL is not tied to one data type. A numeric column, text column, or date column can all contain NULL unless a constraint forbids it.
NULL is a special marker that represents missing, unknown, or not applicable data. It is not the same as zero, false, or an empty string, and it follows special rules in comparisons and calculations.
Because NULL represents an unknown state. Standard operators like = and <> do not evaluate NULL the same way they evaluate ordinary values, so SQL provides IS NULL and IS NOT NULL for correct checks.
A common mistake is treating NULL like an ordinary value in comparisons or arithmetic. This can produce unexpected results in filters, conditions, and calculated fields.
In the next lesson, we will introduce SQL itself and look at the basic structure of a query.