応用情報技術者試験 応用情報技術者試験 平成29年度秋期 午前 問28: 関係 R(ID, A, B, C)の A,C への射影の結果と SQL 文で求めた結果が同じになるように,a に入れるべき字句はどれか。ここで,関係 R を表

←
応用情報技術者試験 平成29年度秋期 午前
Q 2828 / 80
関係 R(ID, A, B, C)の A,C へのの結果と SQL 文で求めた結果が同じになるように,a に入れるべき字句はどれか。ここで,関係 R を表 T で実現し,表 T に各行を格納したものを次に示す。
IDABC
001a1b1c1
002a1b1c2
003a1b2c1
004a2b1c2
005a2b2c2
〔SQL 文〕 SELECT a A, C FROM T
この問の正解率:68.03%(1,267件)

解説

応用情報技術者試験 平成29年度秋期 午前 問28「関係 R(ID, A, B, C)の A,C への射影の結果と SQL 文で求め…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約68%です。

正解

イ. DISTINCT

正答率 68.0%(1,267人中 862人が正解)

問題の解説

関係代数の射影は、指定した属性だけを取り出し、重複した組は一つにまとめる。SQLのSELECT文は何も指定しないと重複を残すので、重複を除くにはDISTINCTを付ける。表Tの(A, C)は(a1, c1)、(a1, c2)、(a1, c1)、(a2, c2)、(a2, c2)の5行で、重複を除いた(a1, c1)、(a1, c2)、(a2, c2)の3行が射影の結果になる。

選択肢ごとの解説

  • アALLは重複を残して全ての行を返す指定なので、(a1, c1)と(a2, c2)が2行ずつ出力され、射影の結果と一致しない。
  • イ正しい。DISTINCTは重複する行を除くので、(a1, c1)、(a1, c2)、(a2, c2)の3行になり、射影の結果と一致する。
  • ウORDER BYは出力の並び順を指定する句で、SELECTの直後には書けない。並べ替えても重複は除かれない。
  • エREFERENCESは、他の表を参照する外部キー制約を定義する句で、SELECT文の選択リストには書けない。

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

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

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

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