第 5.1 节:NULL 的用途

  • 尚未知道的数据,例如 end_date、rating。
  • 可选数据,例如 middle_initial(尽管这可能更适合用空字符串)。
  • 0/0 等计算结果。
  • 某些计算的结果,例如零除以零。
  • NULL 不等于 ""(空字符串)或 0(对于整数类型)。
  • 其他情况?

第 5.2 节:测试 NULL

  • 使用 IS NULL / IS NOT NULL。
  • NULL 的行为不像你期望的那样。
  • x <=> y 是“空值安全”的比较运算符。

在 LEFT JOIN 中测试 a 表中没有对应 b 表行的记录:

SELECT ...
FROM a
LEFT JOIN b ON ...
WHERE b.id IS NULL