問題
“部品”表及び“在庫”表に対し、SQL 文を実行して結果を得た。SQL 文の a に入れる字句はどれか。

選択肢
- 1COALESCE(MIN(在庫.在庫数), 0)
- 2COALESCE(MIN(在庫.在庫数), NULL)
- 3COALESCE(SUM(在庫.在庫数), 0)
- 4COALESCE(SUM(在庫.在庫数), NULL)
正解
3. COALESCE(SUM(在庫.在庫数), 0)
詳しい解説を見る解説を閉じる
解説
部品 P03 は在庫表に行が存在せず、左外結合の結果 在庫数が NULL になる。結果表で P03 が「必要」と判定されるには、在庫数の合計を 0 とみなし発注点と比較する必要がある。SUM で同一部品の在庫数を合算し、NULL を 0 に変換する COALESCE(SUM(在庫.在庫数), 0) を用いると、在庫のない部品は 0 として扱える。よってウが正解。MIN では複数倉庫の在庫合計にならず、第2引数 NULL では NULL のまま比較できない。(出典: 令和6年度 春期 応用情報技術者試験 午前 問26)
一問一答
全400問を繰り返し学習