平成18年秋期試験問題 午前問66

"科目"表と"実習"表に対して,次のSQL文を実行した結果,導出される表はどれか。

SELECT 科目.科目番号
  FROM 科目, 実習
  WHERE 科目.科目番号=実習.科目番号
UNION
SELECT 科目.科目番号
  FROM 科目
  WHERE 単位数 >= 5
66.png

  • 66a.png
  • 66i.png
  • 66u.png
  • 66e.png
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データ操作
解説
UNIONは、SELECT文の結果を和演算によって統合して1つの表とする句です。

設問のSQL文をUNIONの上下に分けた場合、それぞれ次のような表を返します。

[前半部分]
科目表と実習表で一致する"科目番号"をもつ行だけが選択され、その中から"科目番号"列だけが取り出されます。
66_3.png
[後半部分]
科目表の中から"単位数"が5以上である行だけが選択され、その中から"科目番号"列だけが取り出されます。
66_4.png
UNIONではこの2つが和演算で統合されるので、結果の表にある科目番号は「1,2,3,5」が適切です。
66_5.png

Pagetop