SQL · Pattern 2 — Filtering Data
IS NULL / IS NOT NULL
NULL means "unknown/absent," not zero or empty string — so = NULL never matches anything and always silently returns no rows.
Source data — Pattern 2: Filtering Data
All queries run against the shared employees table (see schema.sql). This pattern also needs the manager_id column for topic 14 — not required back in Pattern 1. It also needs one row with salary < 50000 for topic 9, which Pattern 1's 6 rows didn't have — add:
INSERT INTO employees (employee_id, first_name, last_name, salary, department_id,
manager_id)
VALUES (7, 'Zoya', 'Khan', 42000, 500, 1);

What it does
NULL means "unknown/absent," not zero or empty string — so = NULL never matches anything and always silently returns no rows. Checking for missing values needs the dedicated IS NULL / IS NOT NULL operators instead.
Problem
Find employees who do not have a manager assigned.
SELECT *
FROM employees
WHERE manager_id IS NULL;
Result
