# SQL NULL Values

### What is a NULL Value?

A field with a NULL value is a field with no value.

If a field in a table is optional, it is possible to insert a new record or update a record without adding a value to this field. Then, the field will be saved with a NULL value.

> &#x20;**Note:** A NULL value is different from a zero value or a field that contains spaces. A field with a NULL value is one that has been left blank during record creation!

### How to 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.

#### IS NULL Syntax

```sql
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
```

#### IS NOT NULL Syntax

```sql
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
```

### Demo Database

Below is a selection from the "Customers" table&#x20;

![](https://826093633-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LS8lPNzCGPR5-DLbGXv%2F-LSE1RsO-1Hkw4A2GAy4%2F-LSE2ISVVDwjJsRXkaeP%2Fimage.png?alt=media\&token=657f26dc-3649-4c8d-a509-42af79329c89)

### The IS NULL Operator

The IS NULL operator is used to test for empty values (NULL values).

&#x20;The following SQL lists all customers with a NULL value in the "Address" field:

```sql
SELECT Customer  Name, Contact Name, Address
FROM Customers
WHERE Address IS NULL;
```

### The IS NOT NULL Operator

The IS NOT NULL operator is used to test for non-empty values (NOT NULL values).

&#x20;The following SQL lists all customers with a value in the "Address" field:

```sql
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL
```
