NULL - отсутствие значения. Сравнения с NULL дают NULL (не true/false): WHERE col = NULL не сработает, нужен IS NULL / IS NOT NULL. Агрегаты (COUNT, SUM, AVG) игнорируют NULL. COALESCE(col, default) и NULLIF(a, b) для подстановки и сравнения. В уникальных индексах в PG несколько NULL считаются разными (по стандарту), в MySQL - один NULL на уникальный ключ (зависит от версии).