CASE式とは?
CASE式とは、条件によって返す値を切り替える式。単純CASE(値の一致で分岐)と検索CASE(条件式で分岐)がある。
データベーススペシャリスト試験の過去問では1回出題されています。
ケースしき
CASE式の意味
条件によって返す値を切り替える式。単純CASE(値の一致で分岐)と検索CASE(条件式で分岐)がある。
CASE式の具体例
集約関数の中にCASE式を入れて、行に持つ値を列方向へ展開する(横持ち変換)。SUM(CASE WHEN 月=1 THEN 金額 ELSE 0 END) など。
CASE式は試験でどう引っ掛けられる?
単純CASEは「=」で比較するため、WHEN NULL は決して真にならない。NULLで分岐したいときは検索CASEに IS NULL を書く。またELSEを省略したときの既定値は0や空文字ではなくNULL。CASEは「文」ではなく式なので、SELECT句・WHERE句・ORDER BY句など値を書ける場所ならどこでも置ける。
CASE式と関連する用語
CASE式が出た過去問
ある電子商取引サイトでは、会員の属性を柔軟に変更できるように、"会員項目"表で管理することにした。"会員項目"表に対し、次の条件でSQL文を実行して結果を得る場…
正解:MAX
要点:MAXで最新行を選び、CASE式の集約で行を列に展開する
同一の会員番号・項目名の中で最も大きい行番号の行を採用するので、副問合せでは行番号の最大値を求める必要がある。また外側では、条件に合致しない行がNULLになるCASE式を集約して1行にまとめる(いわゆる行から列への転置)ため、NULLを無視して値を拾える集約関数が必要になる。どちらもMAXで満たせる。
出典:令和3年度 秋期 データベーススペシャリスト試験 am2 問10(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。