NULL represents missing or unknown data.
It is different from 0 or an empty string.
SELECT *
FROM employees
WHERE salary IS NULL;SELECT *
FROM employees
WHERE salary IS NOT NULL;-- Incorrect
SELECT * FROM employees WHERE salary = NULL;
-- Correct
SELECT * FROM employees WHERE salary IS NULL;SELECT name, COALESCE(salary, 0) AS salary
FROM employees;SELECT COALESCE(NULL, NULL, 100, 200);SELECT AVG(salary)
FROM employees;-- Problem
SELECT salary + bonus
FROM employees;
-- Fix
SELECT COALESCE(salary, 0) + COALESCE(bonus, 0)
FROM employees;SELECT name,
COALESCE(salary, 0) AS salary
FROM employees
WHERE salary IS NOT NULL;Replace NULL values and filter non-null rows.
SELECT column_name,
COALESCE(column_name, 0)
FROM table_name
WHERE column_name IS NOT NULL;Ask the AI if you need help understanding or want to dive deeper in any topic