| ID | A | B | C |
|---|---|---|---|
| 001 | a1 | b1 | c1 |
| 002 | a1 | b1 | c2 |
| 003 | a1 | b2 | c1 |
| 004 | a2 | b1 | c2 |
| 005 | a2 | b2 | c2 |
情報処理安全確保支援士試験 平成29年度秋期 午前Ⅰ 問9「関係 R(ID, A, B, C)の A, C への射影の結果と SQL 文で求…」の正解と解説です。情報処理安全確保支援士試験の「SQL」分野の過去問で、各選択肢の正誤も解説付きで確認できます。
イ. DISTINCT
関係(集合)の射影は重複行を含まない。表TからA,Cだけ取り出すと、(a1,c1)(a1,c2)(a1,c1)…と重複が生じる。SQLのSELECTは既定で重複を残すため、DISTINCTを付けて重複を除けば射影の結果と一致する。よってイが正解。関係モデルの集合演算とSQLの既定動作(マルチセット)の違いを意識することが、DB設計やクエリ最適化の基礎理解になる。