SQL NULL Handling

Article Summary

In SQL, NULL represents a missing, undefined, or unknown value β€” it’s not the same as an empty string or zero. Understanding how to work with NULL is crucial to writing accurate queries. πŸ”Ή What is NULL? πŸ”Ή Checking for NULL Use IS NULL and IS NOT NULL β€” not = or !=. πŸ”Ή NULL […]

In SQL, NULL represents a missing, undefined, or unknown value β€” it’s not the same as an empty string or zero. Understanding how to work with NULL is crucial to writing accurate queries.

πŸ”Ή What is NULL?

  • NULL means no value or unknown.
  • It’s a placeholder β€” not equal to anything, even another NULL.

πŸ”Ή Checking for NULL

Use IS NULL and IS NOT NULL β€” not = or !=.

-- Find rows where email is missing
SELECT * FROM users WHERE email IS NULL;

-- Find rows where email is present
SELECT * FROM users WHERE email IS NOT NULL;

πŸ”Ή NULL and Comparison Operators

-- This will NOT return any results
SELECT * FROM users WHERE email = NULL;  -- ❌ Wrong

-- Use IS NULL instead
SELECT * FROM users WHERE email IS NULL;  -- βœ… Correct

πŸ”Ή Handling NULL in Results

Use functions to deal with NULL values:

-- Replace NULL with a default value
SELECT COALESCE(phone, 'Not Provided') AS phone_display FROM users;

-- MySQL alternative: IFNULL(phone, 'N/A')
-- SQL Server alternative: ISNULL(phone, 'N/A')

πŸ”Ή NULL in Aggregates

  • Aggregate functions like COUNT, AVG, SUM ignore NULLs (except COUNT(*) includes them).
SELECT COUNT(email) FROM users;         -- Ignores NULLs
SELECT COUNT(*) FROM users;             -- Counts all rows

🧠 Quick Recap

Key PointDescription
NULL MeaningUnknown or missing value
Check NULLUse IS NULL / IS NOT NULL
ComparisonsNULL = NULL is false! Use IS NULL
Replace NULLUse COALESCE, ISNULL, or IFNULL
AggregatesMost functions ignore NULLs

πŸ’‘ Always be mindful of NULLs β€” they can silently break logic if not handled properly.

Was this helpful?