NULLとは?ヌル
NULLとは、値が存在しない、または不明であることを示す標識。値そのものではないため等号や不等号では判定できず、IS NULLとIS NOT NULLで扱う。比較の結果は真でも偽でもない不定になり、SQLはこの三値論理で条件を評価する。集約関数や結合の振る舞いも、この性質から導かれる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
現実の帳票には、まだ決まっていない項目や、そもそも該当しない項目が必ず残る。ここへ0や空文字を入れて代用すると、合計や平均が実際とずれ、後から見分けもつかなくなる。不明であることを不明のまま保持できるようにした結果、比較が成り立たない値という例外を言語側が抱えることになった。
具体例
退職日の列は在職者では埋まらず、外部結合で相手の行が無かった側の列も同じ扱いになる。実装差もあり、Oracle Databaseは長さゼロの文字列をNULLとして扱うがPostgreSQLは別物として扱うため、一方の前提で書いた条件が他方でそのまま動かないことがある。
試験での引っ掛け
COUNT(*)以外の集約関数はNULLの行を計算から外し、AVGは件数の分母にも入れないため、NULLを0とみなした平均とは値が変わる。NOT INの候補にNULLが混じると結果が一行も返らない。逆にこの性質を使い、CASE式で対象外をNULLにしてCOUNTすれば条件付きの集計が書ける。
関連用語
出た過去問
出典:令和4年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21(IPA)
表Rと表Sに対して,次のSQL文を実行した結果はどれか。 〔SQL文〕 SELECT R.X AS A, R.Y AS B, S.X AS C, S.Z AS …
正解:A001,10,NULL,NULL / A002,20,A002,20 / A003,30,A003,30 / A005,50,NULL,NULL
要点:左外部結合は左表の全行を残し対応なしはNULLで埋める
左外部結合は、左側の表の行をすべて残し、結合条件に合う右側の行があれば連結し、なければ右側の列をNULLで埋める。左の表には4行あるのでその4行がすべて出力され、うち条件に合致する2行には右側の値が入り、残る2行はNULLとなる。右側にしかない行は結果に現れない点が要点である。
出典:令和7年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問21(IPA)
出典・参考
公式シラバスの3 技術要素 > 2. データベース設計 > (2) データベースの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。