← コースに戻る
未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。
NULLの扱い(IS NULL, COALESCE)
NULLは「値が存在しない」ことを表す特別な値。NULLは他の値と比較できないため、= NULLのように書いても意図通りに動かない。NULLかどうかを調べるにはIS NULL / IS NOT NULLを使う。
SELECT customer_name
FROM customers
WHERE phone IS NULL;
NULLを別の値に置き換えて表示したいときはCOALESCEを使う。COALESCEは、引数を左から順に見て、最初にNULLでない値を返す関数。
SELECT
customer_id,
COALESCE(phone, '未登録') AS phone
FROM customers;
集計関数(SUM・AVGなど)はNULLを自動的に無視して計算する点にも注意する。例えばCOUNT(column)はNULLでない行だけを数え、COUNT(*)は行数そのものを数える。