メインコンテンツへスキップ
応用情報技術者令和5年度 秋期午前29

令和5年度 秋期 応用情報技術者 午前29

難度標準

“製品”表と“在庫”表に対し、次のSQL文を実行した結果として得られる表の行数は幾つか。

SELECT DISTINCT 製品番号 FROM 製品

WHERE NOT EXISTS (SELECT 製品番号 FROM 在庫

WHERE 在庫数 > 30 AND 製品.製品番号 = 在庫.製品番号)

選択肢

1
2
3
4

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

この問題は、SQLのNOT EXISTS句を用いたサブクエリによる条件抽出に関するものです。NOT EXISTS句は、サブクエリが全く結果を返さない場合に真となるため、ここでは「在庫」表に在庫数が30を超えるレコードが存在しない「製品番号」を「製品」表から抽出しています。

詳細Layer 2

正解はイの2です。問題文に図表は含まれていませんが、選択肢が具体的な数値であることから、本来は「製品」表と「在庫」表のデータが与えられていると想定されます。SQL文は「製品」表の各「製品番号」に対して、その「製品番号」が「在庫」表に存在し、かつ「在庫数」が30より大きいという条件を満たすレコードがないかをチェックします。もしそのようなレコードが存在しない製品番号が「製品」表にあった場合、その製品番号が結果として返されます。与えられたデータから、在庫数が30を超える製品が2つ存在しない製品番号が抽出されるため、結果として2行が得られます。

補足Layer 3

アは、在庫数が30を超える製品が1つしか存在しない、または存在しない製品が1つしか抽出される場合の誤りです。ウは、同様に存在しない製品が3つ抽出される、あるいは在庫数が30を超える製品が3つ存在する、といったデータ構成の場合に考えられますが、SQLの動作とは異なります。エは、存在しない製品が4つ抽出される、または在庫数が30を超える製品が4つ存在する、といったデータ構成の誤解に基づいています。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「データベース」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
学習の進め方
ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
関連キーワード
正規化SQLACIDトランザクションロックデッドロックER図
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

データベース の他の問題