重要なポイント
説明
「null」と「空(カラ)」では、イメージ的には近いですが、具体的には異なる意味のものになります。
- null
そもそも何も無い状態を表します。図でいうと、コップの中には何も入っていません。 - 空(カラ)
空というデータ(ゼロバイトデータ)が入っています。図でいうと、空というメモが入っているようなイメージです。
構文
nullを抽出
select * from [テーブル名] [別名]
where [別名].[カラム名] is null;
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学籍番号(student_cd)が「null」である
- カラム:すべてのカラムを抽出すること。
select * from student_mst sm
where sm.student_cd is null;
null以外を抽出
select * from [テーブル名] [別名]
where [別名].[カラム名] is not null;
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学籍番号(student_cd)が「null」ではない
- カラム:すべてのカラムを抽出すること。
select * from student_mst sm
where sm.student_cd is not null;
空(カラ)を抽出
select * from [テーブル名] [別名]
where [別名].[カラム名] = '';
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学生番号(student_cd)が「空」である
- カラム:すべてのカラムを抽出すること。
select * from student_mst sm
where sm.student_cd = '';
空(カラ)以外を抽出
select * from [テーブル名] [別名]
where [別名].[カラム名] <> '';
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学生番号(student_cd)が「空」ではない
- カラム:すべてのカラムを抽出すること。
select * from student_mst sm
where sm.student_cd <> '';
記述の注意点
- MySQLでは、「null」と「空(カラ)」を判別しますが、データベースソフトによっては、判断しないものもありますので、注意が必要です。