🗃️SQLLearn
テーブル作成 レッスン3

NULL制約

NULLとNOT NULLの設定方法と使い分け

NULLとは

NULLは「値が存在しない」または「不明」を表す特殊な状態です。 0や空文字とは異なります。SQLiteではカラムはデフォルトでNULLを許容します。NOT NULL 制約を付けると、そのカラムにNULLを挿入しようとするとエラーになります。

  • カラム名 型 — NULLを許容(デフォルト)
  • カラム名 型 NOT NULL — NULLを禁止
  • IS NULL / IS NOT NULL — NULLの判定

例1: NOT NULL制約の設定

SQLエディタ

NULLの扱いの注意点

NULLは通常の比較演算子では正しく評価できません。= NULL は常にFALSEになります。 NULLの判定には必ず IS NULL またはIS NOT NULL を使います。 また、NULLを含む演算結果もNULLになります(NULL伝播)。

例2: NULLを含むデータの扱い

SQLエディタ

例3: COALESCEでNULLを置換

SQLエディタ