One NULL Turns the Whole Concatenation Into NULL
With +, one NULL operand makes the whole concatenation NULL and a built-up label vanishes. Use CONCAT, COALESCE, or CONCAT_WS instead.
COUNT, AVG, and the NULLs Your Aggregates Ignore
COUNT(column), AVG, and COUNT(DISTINCT) ignore NULL but COUNT(*) does not, so totals stop matching. How to pick the right aggregate.
The CHECK Constraint That Lets NULL Through
A CHECK constraint accepts a row when its predicate is UNKNOWN, so CHECK (quantity >= 0) still allows NULL. How to close the gap.
The Inequality Filter That Drops Your NULL Rows
A WHERE inequality drops rows where the column is NULL, because the comparison is UNKNOWN. When to add OR col IS NULL, and when not to.
NOT IN With a NULL Returns Nothing
One NULL in a NOT IN subquery makes the whole predicate UNKNOWN and returns zero rows. Why it happens and how NOT EXISTS fixes it.
The MERGE That Would Not Update: A NULL in Your Change Detection
A MERGE upsert skips a NULL-to-value change and updates nothing, with no error. The three-valued-logic cause and two NULL-safe fixes.