応用情報技術者試験 応用情報技術者試験 令和5年度秋期 午前 問29: “製品”表と“在庫”表に対し,次の SQL 文を実行した結果として得られる表の行数は幾つか。 SELECT DISTINCT 製品番号 FROM 製品 WHER

←
応用情報技術者試験 令和5年度秋期 午前
Q 2929 / 80
“製品”表と“在庫”表に対し,次の SQL 文を実行した結果として得られる表の行数は幾つか。 SELECT DISTINCT 製品番号 FROM 製品   WHERE NOT EXISTS(SELECT 製品番号 FROM 在庫     WHERE 在庫数 > 30 AND 製品.製品番号 = 在庫.製品番号) 製品
製品番号製品名単価
AB1805CD-ROM ドライブ15,000
CC5001デジタルカメラ65,000
MZ1000プリンタ A54,000
XZ3000プリンタ B78,000
ZZ9900イメージスキャナ98,000
在庫
倉庫コード製品番号在庫数
WH100AB180520
WH100CC5001200
WH100ZZ9900130
WH101AB1805150
WH101XZ300030
WH102XZ300020
WH102ZZ990010
WH103CC500140
この問の正解率:67.74%(468件)

解説

応用情報技術者試験 令和5年度秋期 午前 問29「“製品”表と“在庫”表に対し,次の SQL 文を実行した結果として得られる表の行…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約68%です。

正解

イ. 2

正答率 67.7%(468人中 317人が正解)

問題の解説

副問合せは、製品ごとに「在庫数が 30 を超える在庫の行が存在する」かどうかを調べ、NOT EXISTS でそれが存在しない製品だけを残す。30 を超える在庫をもつのは AB1805(150)、CC5001(200, 40)、ZZ9900(130)で、XZ3000 は 30 と 20 で超えておらず、MZ1000 は在庫の行そのものがない。したがって残るのは MZ1000 と XZ3000 の 2 行になる。

選択肢ごとの解説

  • アXZ3000 の在庫数 30 を「30 より大きい」に含めてしまうと、MZ1000 だけが残って 1 行になる。30 ちょうどは条件を満たさないので、XZ3000 も結果に含まれる。
  • イ正しい。条件に合う在庫の行がない MZ1000 と、在庫数が 30 と 20 で 30 を超えない XZ3000 の 2 行が残る。
  • ウ在庫数が 30 以下の行をもつ製品(AB1805、XZ3000、ZZ9900)を数えたときの件数である。条件は「30 を超える行が存在しない」製品なので、取り違えている。
  • エ在庫の表のうち、在庫数が 30 を超える行の数(200、130、150、40 の 4 行)に当たる値である。問われているのは製品の表から残る行数である。

応用情報技術者試験 令和5年度秋期 午前 の過去問一覧に戻る・問29

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード