NULL値の扱い | Oracle Database SQL (1Z0-071-JPN)
NULL値の扱いとは
NULLとは、データベースにおいて「値が存在しない」「値が未定・不明(Unknown)」「適用不可(Not Applicable)」であることを示す特殊な状態またはデータマーカーです。数字の 0 や空文字 ''(※Oracle SQLでは長さ0の空文字は内部的にNULLとして扱われます)とは全く異なる概念です。 Oracle Database SQL (1Z0-071) の試験対策においては、NULL値の扱いの基本概念だけでなく、実務で使われる構文ルールや例外事項、エラーが発生する条件を正確に把握しておくことが非常に重要です。
具体例
新入社員の「歩合給率(commission_pct)」がまだ決定していない状態や、中途採用社員の「前職の退職日」が入力されていない状態がNULLです。0%という歩合率が設定されている状態(値=0)とは明確に区別されます。
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NULL
OR commission_pct IS NOT NULL;
もう少し詳しく