【SQL】NULLの項目を検索する方法

データベースを操作する際、NULL値の取り扱いは避けて通れない重要なポイントです。この記事では、SQLでNULLの項目を検索する方法をわかりやすく解説します。

NULLとは何か?

まず初めに、NULLとは何かを理解しましょう。NULLはデータベースにおいて「値が存在しない」ことを意味します。空文字列やゼロとは異なり、NULLは「何もない」ことを示します。

NULLの項目を検索する基本クエリ

SQLでNULLの項目を検索するには、IS NULL演算子を使用します。以下は基本的なクエリの例です。

SELECT *
FROM table_name
WHERE column_name IS NULL;

このクエリは、指定したカラムがNULLであるすべての行を取得します。

NULLでない項目を検索するクエリ

反対に、NULLでない項目を検索する場合は、IS NOT NULL演算子を使用します。

SELECT *
FROM table_name
WHERE column_name IS NOT NULL;

このクエリは、指定したカラムがNULLでないすべての行を取得します。

実例

具体的な例を見てみましょう。以下のようなemployeesテーブルがあるとします。

employee_id first_name last_name manager_id
1 John Doe NULL
2 Jane Smith 1
3 Alice Johnson 2
4 Bob Brown NULL

manager_idがNULLである従業員を検索する場合は次のようにします。

SELECT *
FROM employees
WHERE manager_id IS NULL;

結果は以下のようになります。

employee_id first_name last_name manager_id
1 John Doe NULL
4 Bob Brown NULL

同様に、manager_idがNULLでない従業員を検索する場合は次のようにします。

SELECT *
FROM employees
WHERE manager_id IS NOT NULL;

結果は以下のようになります。

employee_id first_name last_name manager_id
2 Jane Smith 1
3 Alice Johnson 2

まとめ

SQLでNULLの項目を検索する方法について解説しました。NULLの取り扱いはデータベース操作において重要なスキルです。IS NULLとIS NOT NULLを活用して、効率的にデータを抽出しましょう。