データベースを操作する際、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を活用して、効率的にデータを抽出しましょう。