関係 R(ID,A,B,C)の A,C への射影の結果と SQL 文で求めた結果が同じになるように,a に入れるべき字句はどれか。ここで,関係 R を表 T で実現し,表 T に各行を格納したものを次に示す。
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 |
〔SQL 文〕
SELECT a A, C FROM Tテクノロジ系
関係 R(ID,A,B,C)の A,C への射影の結果と SQL 文で求めた結果が同じになるように,a に入れるべき字句はどれか。ここで,関係 R を表 T で実現し,表 T に各行を格納したものを次に示す。
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 |
〔SQL 文〕
SELECT a A, C FROM T正解 イ
関係の射影は重複する行を除くので、SQLではSELECTにDISTINCTを付けると同じ結果になります。
関係代数の射影は、指定した属性だけを取り出し、重複する組を1つにまとめます。表TのA、Cを取り出すと(a1,c1)、(a1,c2)、(a1,c1)、(a2,c2)、(a2,c2)の5行です。重複を除くと(a1,c1)、(a1,c2)、(a2,c2)の3行になり、これが射影の結果です。SQLのSELECTは、何も指定しないと重複行を残します。そのため、SELECT DISTINCT A, C FROM Tとすると射影と同じ3行が得られます。
ア:ALLは、重複する行も残してすべて出力する指定です。結果は5行になり、射影と一致しません。
ウ:ORDER BYは、結果の並び順を指定する句です。FROM句の後に書くもので、重複は除きません。
エ:REFERENCESは、CREATE TABLE文などで外部キーの参照先を指定する字句です。SELECT文で重複を除く働きはありません。
出典:平成29年度 秋期 応用情報技術者試験 問28
全年度から出題。10問で実力を判定します。登録不要。
出典:平成29年度 秋期 応用情報技術者試験 問28(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方