関係R(ID, A, B, C)のA, Cへの射影の結果とSQL文で求めた結果が同じになるように、aに入れるべき字句はどれか。ここで、関係Rを表Tで実現し、表Tに各行を格納したものを次に示す。 〔SQL文〕 SELECT [a] A, C FROM T
関係代数の射影は重複を除くのでSQLではDISTINCTが要る
表T
| ID | A | B | C |
|---|---|---|---|
| 001 | a1 | b1 | c1 |
| 002 | a1 | b1 | c2 |
| 003 | a1 | b2 | c1 |
| 004 | a2 | b1 | c2 |
| 005 | a2 | b2 | c2 |
選択肢
- アALL
- イDISTINCT
- ウORDER BY
- エREFERENCES
正解と解説
正解:イ DISTINCT
関係代数の射影は集合演算なので、結果に重複する行は現れない。一方SQLのSELECTは既定で重複行をそのまま返すため、A列とC列だけを取り出すと同じ値の組が複数出てしまう。重複を取り除くDISTINCTを指定することで、射影の結果と一致させられる。
選択肢ごとの解説
- アALLは重複をそのまま残す指定なので、射影の結果と一致しない。
- イ正しい。DISTINCTで重複行を除けば射影と同じ結果になる。
- ウORDER BYは並べ替えの指定で、重複は除去されない。
- エREFERENCESは参照制約を定義する句で、SELECTの列指定には使えない。
同じ分野の他の問題
- 関係データベースのビューに関する記述のうち、適切なものはどれか。2025年度 秋期 午前 問28
- 更新可能なビューを作成するSQL文はどれか。ここで、SQL文中に現れる基底表は全て更新可能とする。2023年度 秋期 午前 問28
- “部門別売上”表から、部門コードごと、期ごとの売上を得るSQL文はどれか。2021年度 秋期 午前 問29
- "東京在庫"表と"大阪在庫"表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表す。 〔S…2020年度 10月試験 午前 問29
- 表に対するSQLのGRANT文の説明として、適切なものはどれか。2020年度 10月試験 午前 問26
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。