×
SELECT文の基本

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;

もう少し詳しく