Summary: in this tutorial, you will learn how to use the MySQL IS NULL
operator to test whether a value is NULL
or not.
Introduction to MySQL IS NULL operator
To test whether a value is NULL
or not, you use the IS NULL
operator.
Here’s the basic syntax of the IS NULL
operator:
value IS NULL
Code language: SQL (Structured Query Language) (sql)
If the value is NULL
, the expression returns true. Otherwise, it returns false.
Note that MySQL does not have a built-in BOOLEAN
type. It uses the TINYINT(1)
to represent the BOOLEAN
values i.e., true means 1 and false means 0.
Because the IS NULL
is a comparison operator, you can use it anywhere that an operator can be used e.g., in the SELECT
or WHERE
clause.
See the following example:
SELECT 1 IS NULL, -- 0 0 IS NULL, -- 0 NULL IS NULL; -- 1
Code language: SQL (Structured Query Language) (sql)
To check if a value is not NULL
, you use IS NOT NULL
operator:
value IS NOT NULL
Code language: SQL (Structured Query Language) (sql)
This expression returns true (1) if the value is not NULL
. Otherwise, it returns false (0).
Consider the following example:
SELECT 1 IS NOT NULL, -- 1 0 IS NOT NULL, -- 1 NULL IS NOT NULL; -- 0
Code language: SQL (Structured Query Language) (sql)
MySQL IS NULL examples
We will use the customers
table in the sample database for the demonstration:
The following query uses the IS NULL
operator to find customers who do not have a sales representative:
SELECT customerName, country, salesrepemployeenumber FROM customers WHERE salesrepemployeenumber IS NULL ORDER BY customerName;
Code language: SQL (Structured Query Language) (sql)
Output:
+--------------------------------+--------------+------------------------+ | customerName | country | salesrepemployeenumber | +--------------------------------+--------------+------------------------+ | ANG Resellers | Spain | NULL | | Anton Designs, Ltd. | Spain | NULL | | Asian Shopping Network, Co | Singapore | NULL | | Asian Treasures, Inc. | Ireland | NULL | ...
Code language: PHP (php)
This example uses the IS NOT NULL
operator to get the customers who have a sales representative:
SELECT customerName, country, salesrepemployeenumber FROM customers WHERE salesrepemployeenumber IS NOT NULL ORDER BY customerName;
Code language: SQL (Structured Query Language) (sql)
Output:
+------------------------------------+-------------+------------------------+ | customerName | country | salesrepemployeenumber | +------------------------------------+-------------+------------------------+ | Alpha Cognac | France | 1370 | | American Souvenirs Inc | USA | 1286 | | Amica Models & Co. | Italy | 1401 | | Anna's Decorations, Ltd | Australia | 1611 | ...
Summary
- Use the
IS NULL
operator to test if a value isNULL
or not. TheIS NOT NULL
operator negates the result of theIS NULL
operator. - The
value IS NULL
returns true if the value is NULL or false if the value is not NULL. - The
value IS NOT NULL
returns true if the value is not NULL or false if the value is NULL.