戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

システム監査技術者 2009年 午前2 問17


問題文

“学生”表と“学部”表に対し次のSQL文を実行した結果として、正しいものはどれか。
SELECT 氏名 FROM 学生,学部 WHERE 所属 = 学部名 AND 学部.住所 = '新宿'
システム監査技術者 2009年 午前2 問17の問題画像システム監査技術者 2009年 午前2 問17の選択肢の画像

選択肢

ア:
イ:(正解)
ウ:
エ:

🔒 解説は解答すると表示されます

SQLの結合と条件選択【午前2解説】

正解の理由

正しい結果は、イの「合田知子」「青木俊介」です。
このSQLは、学生の「所属」と学部の「学部名」が一致し、さらに学部の住所が「新宿」である組合せを選びます。
学部表で住所が「新宿」なのは「理」と「工」です。学生表で所属がそれぞれ「理」「工」の学生は、合田知子さんと青木俊介さんです。したがって、結果はこの2名になります。

解法ステップ

  1. 所属 = 学部名 に注目します。
    学生の所属と、学部表の学部名が一致する行を組み合わせます。
  2. 学部.住所 = '新宿' で絞り込みます。
    学部.住所 は学部表の住所を表します。住所が「新宿」の学部は「理」と「工」です。
  3. 該当する所属の学生を確認します。
    • 理:合田知子
    • 工:青木俊介
  4. SELECT 氏名 に従って、氏名だけを出力します。
    よって、イが正しい結果です。

選択肢別の誤答解説

  • ア:合田知子さんだけですが、「工」学部も住所が新宿なので、青木俊介さんも含まれます。
  • イ:合田知子さんと青木俊介さんが含まれており、条件に合致します。
  • ウ:坂口祐子さんの所属は「経済」です。経済学部の住所は「渋谷」なので、条件に合いません。また、青木俊介さんが抜けています。
  • エ:新宿にある学部に所属する学生に加えて、坂口祐子さんも含まれています。経済学部の住所は「渋谷」のため、坂口さんは対象外です。

よくある誤解

  • 学生の住所で絞り込むと思い込む
    条件は 学部.住所 = '新宿' です。学生表の住所ではなく、学部表の住所を判定します。
  • 学部名だけで結果を決めてしまう
    所属と学部名を対応させたうえで、学部の住所も確認する必要があります。
  • SELECT 氏名 の対象を取り違える
    条件を判定するために学生表と学部表を使いますが、出力される列は氏名だけです。

補足コラム

FROM 学生,学部 は、学生表と学部表の行をいったん組み合わせ、WHERE 句の条件に合う組合せを残す書き方です。現在は、結合条件を JOIN ... ON で明示する形式もよく使われます。
この問題では、所属 = 学部名 が表同士を対応させる条件で、学部.住所 = '新宿' が該当する学部を絞り込む条件です。

FAQ

Q. 学生表の住所が「新宿」の人を選ぶ問題ですか?
いいえ。条件にあるのは 学部.住所 なので、学部表の住所で判定します。
Q. 「人文」学部に所属する川内聡さんが選ばれないのはなぜですか?
人文学部の住所は「渋谷」だからです。学部の住所が「新宿」という条件を満たしません。
Q. 「所属」と「学部名」の一致は何を意味していますか?
学生が所属する学部と、学部表の各行を対応付ける条件です。この一致により、その学生の所属学部の住所を確認できます。

関連キーワード: SQL、結合、選択条件、WHERE句、射影、直積
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

システム監査技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について