SQL NULL Values - IS NULL and IS NOT NULL

From http://www.w3schools.com (Copyright Refsnes Data)

# SQL NULL Values

NULL values represent missing unknown data.

By default, a table column can hold NULL values.

This chapter will explain 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 treated differently from other values.

NULL is used as a placeholder for unknown or inapplicable values.

Note: It is not possible to compare NULL and 0; they are not equivalent.

## SQL Working with NULL Values

Look at the following "Persons" table:

P_Id | LastName | FirstName | Address | City
--- | --- | --- | --- | ---
1 | Hansen | Ola |  | Sandnes
2 | Svendson | Tove | Borgvn 23 | Sandnes
3 | Pettersen | Kari |  | Stavanger

Suppose that the "Address" column in the "Persons" table is optional. This means that if we insert a record with no value for the "Address" column, the "Address" column will be saved with a NULL value.

How can we test for NULL values?

It is not possible to test for NULL values with comparison operators, such as =, <, or <>.

We will have to use the IS NULL and IS NOT NULL operators instead.

## SQL IS NULL

How do we select only the records with NULL values in the "Address" column?

We will have to use the IS NULL operator:

    SELECT LastName,FirstName,Address FROM Persons
    WHERE Address IS NULL

The result-set will look like this:

LastName | FirstName | Address
--- | --- | ---
Hansen | Ola |
Pettersen | Kari |

Tip: Always use IS NULL to look for NULL values.

## SQL IS NOT NULL

How do we select only the records with no NULL values in the "Address" column?

We will have to use the IS NOT NULL operator:

    SELECT LastName,FirstName,Address FROM Persons
    WHERE Address IS NOT NULL

The result-set will look like this:

LastName | FirstName | Address
--- | --- | ---
Svendson | Tove | Borgvn 23

In the next chapter we will look at the ISNULL(), NVL(), IFNULL() and COALESCE() functions.

From http://www.w3schools.com (Copyright Refsnes Data)