データベーススペシャリスト暗記無料で始める

COALESCEとは?コアレス

COALESCEとは、引数を左から順に評価し、最初に現れたNULLでない値を返す関数。すべてNULLならNULLを返す。CASE式で「式1がNULLでなければ式1、そうでなければ式2…」と書いたものの短縮形にあたり、外部結合や集計で生じたNULLを表示や計算の直前で既定値に寄せる用途で使う。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では2回出題されています(2020年度〜2023年度)。

データベーススペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

NULLは算術演算や文字列連結に混ざると結果全体をNULLに引きずり込むため、そのまま画面や帳票へ流すと空欄や誤った合計になる。かといって列そのものにゼロを入れて保存すると、「実績が0だった」と「まだ実績が無い」の区別が失われる。データは不明のまま保持し、読み出す側で意味づけをする——その切り分けを担うのがこの関数で、物理設計でNOT NULL制約を付けるかどうかの判断とも表裏をなす。

具体例

受注表に出荷実績表を左外部結合して残数を出す場面で、未出荷の受注は出荷数がNULLになる。「受注数 - COALESCE(出荷数, 0)」と書けば未出荷の行も受注数がそのまま残数として計算され、引き算の結果がNULLに落ちるのを防げる。

試験での引っ掛け

NULLIF(A, B) は「AとBが等しければNULLを返し、等しくなければAを返す」逆向きの関数で、名前が似ているため取り違えやすい。またSUMやAVGなどの集約関数はもともとNULLの行を無視して計算するため、SUM(COALESCE(数量, 0)) と SUM(数量) は結果が変わらない——NULLを0に置き換えれば平均値が変わる、と考えると誤る。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では2回出題(2020年度〜2023年度)
  • 分野:午前II
  • NULLIF(A, B) は「AとBが等しければNULLを返し、等しくなければAを返す」逆向きの関数で、名前が似ているため取り違えやすい。