QA Dojo
ハンズオン
進捗 0/47

NULL とは何か

スライド 3 of 4

カラムには値が入っていない状態 NULL があります。 これは「空文字」「0」「未入力」とは 別物です。

NULL
「値が決まっていない」
""(空文字)
「空文字という値」
0
「ゼロという値」

例:演習用 EC サイトの products.sale_ends_at(セール終了日時)は、 セール対象でない商品では NULL。 「セール終了日時が空文字」とか「2000-01-01 が便宜的に入っている」のような マジックバリューを避けるための設計です。

⚠️ NULL の落とし穴:SQL で WHERE sale_ends_at = NULL と書いても マッチしません。 NULL と「等しい」かを判定する = は使えず、IS NULL / IS NOT NULL を使います(第3章で実演)。

📌 QA 視点:「セール対象が表示されない」「集計に空欄が入って数値ズレ」のようなバグの背後には、NULL の扱いミスが潜んでいることが多い。 「このカラム、NULL あり得る?」を毎回確認する習慣が事故を防ぎます。

次のうち、NULL の説明として最も正確なのは?