「S3 開発/SQL - S3.1 SQLコマンド」からの出題です。
SELECT COALESCE(NULL, NULL, 10); は 10 を返却する。
SELECT COALESCE(col1, col2) FROM tbl; は、col1 が NULL の行ではエラーを返却する。
SELECT NULLIF(0, 0); は NULL を返す。
SELECT price / NULLIF(quantity, 0) FROM orders; というクエリは quantity が 0 の場合にゼロ除算エラーを防ぐ目的で利用できる。
SELECT COALESCE(col1, col2) FROM tbl; では col1, col2 の両方が NULL の場合に 0 が返却される。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2026年3月11日
A. 正しい記述です。
COALESCE(NULL, NULL, 10) は、左から順に値を評価して最初の非 NULL 値である 10 を返却します。
B. 誤った記述です。
COALESCE(col1, col2) は、col1 が NULL の場合に col2 を返却します。col1, col2 の両方が NULL の場合は NULL を返しますが、エラーにはなりません。
C. 正しい記述です。
NULLIF(0, 0) は 2つの引数が等しいため、結果は NULL を返却します。
D. 正しい記述です。
NULLIF(quantity, 0) は、quantity が 0 の場合に NULL を返却します。 price / NULL となるためゼロ除算エラーを回避できます。
E. 誤った記述です。
全ての引数が NULL の場合、COALESCE は NULL を返します。
従って、正解は A, C, D です。
例題および解説は、ボランティアをはじめとした協力者によって作成されたものであり、実際の試験問題とは異なります。
※ご質問やご意見、誤記等のご連絡は、こちらまでお願いします。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.