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