运算里 NULL 会传染要点
- NULL 与任何值做加减乘除,结果都是 NULL
- salary + bonus 若 bonus 为空,整列变 NULL
- 字符串拼接里 NULL 也会让结果变 NULL
- 用 IFNULL / COALESCE 把参与运算的空值先转成 0
- WHERE 里 col + 1 = NULL 永远不成立,别这么写
- 导出的数值列若含 NULL,下游计算多半会出错
运算里 NULL 会传染示例
-- 不加兜底:bonus 为空时 total 整列变 NULL
SELECT name, salary + bonus AS total FROM staff;
-- 正确:先给奖金兜底成 0
SELECT name, salary + IFNULL(bonus, 0) AS total
FROM staff;
避坑提醒:只要表达式里出现「+ - * /」且字段可能为空,先 IFNULL 兜一层 0,省得结果莫名其妙全空。