SQL NULL Values
NULL values represent missing unknown data.
By default, columns in a table can hold NULL values.
This chapter explains the IS NULL and IS NOT NULL operators.
SQL NULL Values
If a column in a table is optional, we can insert a new record or update an existing record without adding a value to this column. This means that the field will be saved with a NULL value.
NULL values are handled differently than other values.
NULL is used as a placeholder for unknown or inapplicable values.
Note: NULL cannot be compared to 0; they are not equivalent.
SQL NULL Value Handling
Consider the following "Persons" table:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Sandnes | |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Stavanger |
If the "Address" column in the "Persons" table is optional, it means that if a record is inserted without a value in the "Address" column, the "Address" column will be saved with a NULL value.
So how do we test for NULL values?
We cannot use comparison operators like =, <, or <> to test for NULL values.
We must use the IS NULL and IS NOT NULL operators instead.
SQL IS NULL
How do we select records that have NULL values in the "Address" column?
We must use the IS NULL operator:
The result set will look like this:
LastName | FirstName | Address |
---|---|---|
Hansen | Ola | |
Pettersen | Kari |
Tip: Always use IS NULL to find NULL values.
SQL IS NOT NULL
How do we select records that do not have NULL values in the "Address" column?
We must use the IS NOT NULL operator:
The result set will look like this:
LastName | FirstName | Address |
---|---|---|
Svendson | Tove | Borgvn 23 |
In the next section, we will learn about the ISNULL(), NVL(), IFNULL(), and COALESCE() functions.