関係代数の演算のうち、関係R、Sの直積 (R×S) に対応する SELECT 文はどれか。 ここで、関係R、Sを表R、Sに対応させ、表R及びSにそれぞれ行の重複はないものとする。
ア SELECT * FROM R,S
イ SELECT * FROM R EXCEPT SELECT * FROM S
ウ SELECT * FROM R UNION SELECT * FROM S
エ SELECT * FROM R INTERSECT SELECT * FROM S
ア
ア 正しい。直積は以下の2つの表R、Sがあったとすると、全ての組み合わせを選択する。
┌───┐┌───┐
│表 R││表 S│
├─┬─┤├─┬─┤
│あ│1││A│X│
├─┼─┤├─┼─┤
│い│2││B│Y│
├─┼─┤└─┴─┘
│う│3│
└─┴─┘
┌───────┐
│直積(R×S)│
├─┬─┬─┬─┤
│あ│1│A│X│
├─┼─┼─┼─┤
│あ│1│B│Y│
├─┼─┼─┼─┤
│い│2│A│X│
├─┼─┼─┼─┤
│い│2│B│Y│
├─┼─┼─┼─┤
│う│3│A│X│
├─┼─┼─┼─┤
│う│3│B│Y│
└─┴─┴─┴─┘
イ R EXCEPT Sは、Rに存在しているが、Sには存在していない行を選択する。
┌───┐┌───┐
│表 R││表 S│
├─┬─┤├─┬─┤
│あ│1││あ│1│
├─┼─┤├─┼─┤
│い│2││う│3│
├─┼─┤└─┴─┘
│う│3│
└─┴─┘
┌───┐
│EXCEPT│
├─┬─┤
│い│2│
└─┴─┘
ウ R UNION Sは、和集合である。
┌───┐┌───┐
│表 R││表 S│
├─┬─┤├─┬─┤
│あ│1││う│3│
├─┼─┤├─┼─┤
│い│2││え│4│
├─┼─┤└─┴─┘
│う│3│
└─┴─┘
┌───┐
│UNION │
├─┬─┤
│あ│1│
├─┼─┤
│い│2│
├─┼─┤
│う│3│
├─┼─┤
│え│4│
├─┼─┤
│お│5│
└─┴─┘
エ R INTERSECT S は、共通する行を選択する。
┌───┐┌───┐
│表 R││表 S│
├─┬─┤├─┬─┤
│あ│1││あ│1│
├─┼─┤├─┼─┤
│い│2││う│3│
├─┼─┤└─┴─┘
│う│3│
└─┴─┘
┌───┐
│EXCEPT│
├─┬─┤
│あ│1│
├─┼─┤
│う│3│
└─┴─┘
問27 | 目次 | 問29 |