| 部品ID | 発注点 |
|---|---|
| P01 | 100 |
| P02 | 150 |
| P03 | 100 |
| 部品ID | 倉庫ID | 在庫数 |
|---|---|---|
| P01 | W01 | 90 |
| P01 | W02 | 90 |
| P02 | W01 | 150 |
| 部品ID | 発注要否 |
|---|---|
| P01 | 不要 |
| P02 | 不要 |
| P03 | 必要 |
応用情報技術者試験 令和6年度春期 午前 問26「“部品”表及び“在庫”表に対し,SQL 文を実行して結果を得た。SQL 文の a…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約52%です。
ウ. COALESCE(SUM(在庫.在庫数), 0)
正答率 51.5%(1,327人中 684人が正解)
部品表と在庫表を外部結合して部品ごとにグループ化しているので、在庫がない P03 も結果に残り、その在庫数は NULL になる。在庫は倉庫ごとの行に分かれているため、部品ごとの在庫は合計(SUM)で求め、NULL は COALESCE で 0 に置き換える。在庫の合計は P01 が 180、P02 が 150、P03 が 0 で、発注点(100、150、100)より小さい P03 だけが『必要』になる。
応用情報技術者試験 令和6年度春期 午前 の過去問一覧に戻る・問26