フィールドの値がNULLのレコードを取得する - SQLでのNULL判定 - SQL
NULL判定をするSQL文を紹介します。
概要
フィールド(カラム)の値がNULLのレコードを取得したい場合、フィールドの値がNULL野茂の除外してレコードを取得したい場合があります。
この記事では、ISNULL関数を利用して、フィールドの値がNULLであるかを判定するSQL文を紹介します。
書式
実行例
以下のテーブルを準備します。
Working テーブルid | name | value | category | memo |
1 | Penguin | 300 | B | 南国にすむペンギンです |
2 | Whale | 420 | M | 北極海のクジラです |
3 | Moffu | 880 | NULL | よくわからない生き物です |
4 | Camel | 220 | M | 砂漠にすむラクダです |
5 | Owl | 90 | B | 関東のフクロウです |
6 | Duck | 120 | B | そこらへんのアヒルです |
7 | Lizard | 60 | R | ひっそりと生きるトカゲです |
8 | Scorpion | 45 | C | 礫砂漠に生きるサソリです |
9 | Bear | 180 | M | 北海道の森林に住むクマです |
10 | WhiteBear | 260 | M | 北極圏で生きるシロクマです |
11 | SpaceSeal | 485 | NULL | 宇宙から飛来したアザラシに似た生命体です |
NULLの値のレコードを取得する
categoryの値がNULLの値のレコードを取得します。
次のSQL文を実行します。
SELECT * from Working where category IS NULL
実行結果は以下です。categoryの値がNULLのレコードが取得できました。
id | name | value | category | memo |
3 | Moffu | 880 | NULL | よくわからない生き物です |
11 | SpaceSeal | 485 | NULL | 宇宙から飛来したアザラシに似た生命体です |
NULLの値のレコードを除外して取得する
categoryの値がNULLの値のレコードを取得します。
次のSQL文を実行します。
SELECT * from Working where category IS NOT NULL
実行結果は以下です。categoryの値がNULLではないレコードが取得できました。
id | name | value | category | memo |
1 | Penguin | 300 | B | 南国にすむペンギンです |
2 | Whale | 420 | M | 北極海のクジラです |
4 | Camel | 220 | M | 砂漠にすむラクダです |
5 | Owl | 90 | B | 関東のフクロウです |
6 | Duck | 120 | B | そこらへんのアヒルです |
7 | Lizard | 60 | R | ひっそりと生きるトカゲです |
8 | Scorpion | 45 | C | 礫砂漠に生きるサソリです |
9 | Bear | 180 | M | 北海道の森林に住むクマです |
10 | WhiteBear | 260 | M | 北極圏で生きるシロクマです |
補足: = を利用した場合
[値] = NULL
[値] != NULL
の書式でSQLを実行した場合、エラーは発生しませんが結果は空となり、意図したレコードが取得できない結果になります。
SELECT * from Working where category = NULL
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。