NULLかどうか判定する「IS NULL」
NULLかどうかを判定する時に「=」を使うことができません。
「IS NULL」を使用することによってNULLを判定することができます。
以下の検証用テーブルとデータを使ってNULLの判定をしてみましょう。
SQL> select * from animal1; ID NAME ADDRESS ----- ---------- ---------- 001 いるか 海 002 うさぎ
「IS NULL」の実行例
SQL> select * from animal1 where address is null; ID NAME ADDRESS ----- ---------- ---------- 002 うさぎ
NULL以外を判定する「IS NOT NULL」
「IS NOT NULL」を使用することによってNULL以外を判定することができます。
「IS NOT NULL」の実行例
SQL> select * from animal1 where address is not null; ID NAME ADDRESS ----- ---------- ---------- 001 いるか 海
なぜ「= NULL」ではないのか
なぜ「= NULL」ではなく「IS NULL」と記述しないといけないのか疑問におもったことはありませんか?
そもそもSQLにおいてのNULLってなにっていうことについても解説してあるのが以下の書籍です。ぜひ一度手にとって確認してみてください。
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
※内容が初学者ではなく中級者以上の内容になるので気をつけてください。初学者の人はとりあえずNULLを比較するときは「IS NULL」で比較するということを覚えておけばOKです。
コメント