COALESCEとは?コアレス
COALESCEとは、引数を左から順に評価し、最初に見つかったNULLでない値を返すSQLの標準関数である。すべてがNULLならNULLを返す。NULLを既定値に置き換える、複数の候補列から優先順に値を選ぶ、といった用途で使い、外部結合で一致しなかった側の列を埋める場面でも頻出する。支援士ではSQLを読む問題の中で、NULLの扱いを問う選択肢として登場する。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
SQLのNULLは「値が無い」印で、比較や演算に混ざると結果までNULLになる。集計や表示のたびに個別に処理を書くと漏れが出るため、標準SQLはNULLを扱う専用関数を用意した。実装ごとのNVL(Oracle)やISNULL(SQL Server)を統一する標準名がCOALESCEである。
具体例
顧客表の連絡先で COALESCE(携帯番号, 固定電話, 'なし') と書けば、未登録の欄を飛ばして最初の有効な番号を表示できる。PostgreSQL、MySQL、Oracle、SQL Serverのすべてで同じ名前で使え、Oracle固有のNVLと違い引数を3つ以上取れる。
試験での引っ掛け
NULLIF(A, B) は「AとBが等しければNULL、違えばA」を返す逆向きの関数で、名前が似ていて混同されやすい。またCOALESCEはNULLだけを飛ばすため、空文字列''は「値あり」として返る。NULLと空文字を同一視するOracleの挙動とは異なる点も問われる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。