初めに
前回に引き続き、スッキリわかるSQLで理解できなかった練習問題を、
頑張って調べて理解できるようにしていきます。
問題
スッキリわかるSQLの5章問題5-3の2です。
回答
SELECT 受注日,受注ID,文字数,
CASE COALESCE(書体コード,'1')
WHEN '1' THEN 'ブロック体'
WHEN '2' THEN '筆記体'
WHEN '3' THEN '草書体' END AS 書体名,
CASE COALESCE(書体コード,'1')
WHEN '1' THEN 100
WHEN '2' THEN 150
WHEN '3' THEN 200 END AS 単価, 続く・・・
CASE COALESCE(書体コード,'1')がわからない!!!!
COALESCEはNULLを明示的に表示する
COALESCE(メモ,'(メモはNULLです)') という記述があれば、
メモ列のNULLの値が(メモはNULLです)になる。
その考え方でいくと、
CASE COALESCE(書体コード,'1')は、
書体コードにNULLがあれば'1'を入れるということになるんですね。