Cómo usar los valores NULL y los operadores IS NULL y IS NOT NULL para probar si un valor es NULL

Resumen: en este tutorial, aprenderás sobre la lógica de los valores NULL en SQL Server. También aprenderás a usar los operadores IS NULL y IS NOT NULL para probar si un valor es NULL o no.
Valor NULL y la lógica de tres valores
En el mundo de las bases de datos, NULL se utiliza para indicar la ausencia de cualquier valor de datos. Por ejemplo, en el momento de registrar la información del cliente, el correo electrónico puede ser desconocido, por lo que se registra como NULL en la base de datos.
Normalmente, el resultado de una expresión lógica es TRUE o FALSE (VERDADERO o FALSO). Sin embargo, cuando NULL está involucrado en la evaluación lógica, el resultado es DESCONOCIDO. Esto se denomina lógica de tres valores: TRUE, FALSE o UNKNOWN (VERDADERO, FALSO y DESCONOCIDO).
Los resultados de las siguientes comparaciones son UNKNOWN:
NULL = 0
NULL <> 0
NULL > 0
NULL = NULL
NULL es igual a nada, incluso NULL no es igual a NULL porque cada NULL podría ser diferente.
IS NULL
Consultar la siguiente tabla de clientes de la base de datos de muestra.
La siguiente declaración SELECT encuentra los clientes que no tienen un número de teléfono registrado en la tabla de clientes:
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone = NULL
ORDER BY
first_name,
last_name;
La consulta devolvió un conjunto de resultados vacío.
La cláusula WHERE devuelve filas que hacen que se evalúe como TRUE. Sin embargo, la siguiente expresión se evalúa como DESCONOCIDA.
phone = NULL;
Por lo tanto, obtiene un conjunto de resultados vacío.
Para probar si un valor es NULL o no, siempre usa el operador IS NULL.
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone IS NULL
ORDER BY
first_name,
last_name;
La consulta devolvió los clientes que no tienen la información del teléfono.
Como puedes adivinar, para verificar si un valor no es NULL, puede usar el operador IS NOT NULL.
La siguiente consulta devuelve clientes que tienen información de teléfono:
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone IS NOT NULL
ORDER BY
first_name,
last_name;
En este tutorial, has aprendido acerca de la lógica de tres valores NULL y cómo probar si un valor es NULL o no.