SQL IS NULL 演算子

概要: このチュートリアルでは、NULL について学習し、SQL の IS NULL 演算子と IS NOT NULL 演算子を使用して、式が NULL かどうかをテストする方法を学びます。

NULL とは

NULL は SQL では特殊な値です。 NULL は、データが不明、適用不可、または存在しないことを示します。言い換えれば、NULL はデータベース内の欠損データを表します。

たとえば、従業員に電話番号がない場合、電話番号を空の文字列として格納できます。

ただし、従業員レコードを保存するときに電話番号がわからない場合は、不明な電話番号に NULL を使用する必要があります。

NULL は特殊です。なぜなら、NULL との比較は、真または偽ではなく、常に3番目の論理結果である「不明」になるからです。

次のステートメントは NULL を返します

SELECT NULL = 5;Code language: PHP (php)

試してみる

NULL 値は、次のステートメントに示すように、それ自体と等しくありません

SELECT NULL = NULL;Code language: SQL (Structured Query Language) (sql)

試してみる

この例では、結果は NULL です。

値を NULL 値と比較するために、比較演算子の等号 (=) を使用することはできません。たとえば、次のステートメントは正しい結果を返しませ ん

SELECT
	employee_id,
	first_name,
	last_name,
	phone_number
FROM
	employees
WHERE
	phone_number = NULL;Code language: SQL (Structured Query Language) (sql)

試してみる

IS NULL 演算子と IS NOT NULL 演算子

式または列が NULL かどうかを判断するには、次のように IS NULL 演算子を使用します

expression IS NULLCode language: SQL (Structured Query Language) (sql)

式の結果が NULL の場合、IS NULL 演算子は true を返します。それ以外の場合は、false を返します。

式または列が NULL でないことを確認するには、IS NOT NULL 演算子を使用します

expression IS NOT NULLCode language: PHP (php)

式の値が NULL の場合、IS NOT NULLfalse を返します。それ以外の場合は、true を返します。

SQL IS NULL 演算子と IS NOT NULL 演算子の例

これらの例では、デモンストレーションのために、サンプルデータベースemployees テーブルを使用します。

employees_table

電話番号のないすべての従業員を見つけるには、次のように IS NULL 演算子を使用します

SELECT
	employee_id,
	first_name,
	last_name,
	phone_number
FROM
	employees
WHERE
	phone_number IS NULL;Code language: PHP (php)

試してみる

SQL IS example

電話番号を持つすべての従業員を見つけるには、次のステートメントに示すように、IS NOT NULL を使用します

SELECT
	employee_id,
	first_name,
	last_name,
	phone_number
FROM
	employees
WHERE
	phone_number IS NOT NULL;Code language: SQL (Structured Query Language) (sql)

試してみる

SQL IS NOT NULL example

これで、NULL の概念を理解し、SQL IS 演算子を使用して値が NULL かどうかを確認する方法がわかるはずです

このチュートリアルは役に立ちましたか?