応用情報技術者試験 午前

解説一覧 / 令和5年度 秋期 問29

解説を読む ↓

29令和5年度 秋期テクノロジ系

“製品”表と“在庫”表に対し,次の SQL 文を実行した結果として得られる表の行数は幾つか。 SELECT DISTINCT 製品番号 FROM 製品 WHERE NOT EXISTS (SELECT 製品番号 FROM 在庫 WHERE 在庫数 > 30 AND 製品.製品番号 = 在庫.製品番号)

問題の図
図(問題冊子 p.17 より)— クリックで原寸

正解はイ

解説 本サイト独自(IPA公表のものではありません)

 在庫数が30より大きい一致行があるAB1805,CC5001,ZZ9900は除かれる。MZ1000には一致行がなく,XZ3000の在庫数は30と20で,30より大きい行がないので残る。したがって結果は2行である。

  •  条件を30以上と読み違えると,在庫数30のXZ3000まで除外し,一致行自体がないMZ1000だけを数えて1行になる。
  •  在庫表のWH100の行だけを調べると,CC5001とZZ9900だけが除外され,AB1805,MZ1000,XZ3000を数えて3行になる。WH101以降も調べる必要がある。
  •  同じ製品の全在庫行が30より大きい場合だけ除外すると,CC5001だけを除き4行になる。しかし,一つでも条件を満たす一致行が存在すれば除外される。
この解説は間違っています

 ログインは不要です

この解説は,別のモデルによるレビューを受けています。

出典:令和5年度 秋期 応用情報技術者試験 午前 問29

自分で解いてから答え合わせをするなら 問題バンク — 解説は解答後に表示されます。