名前 年齢 身長
69 24 180
70 70 170
71 71 171
テーブル2
名前 誕生日 体重
68 6/8 68
69 7/10 60
70 7/11 70
テーブル3
名前 年齢 身長
71 71 171
72 72 172
73 73 173
テーブル4
身長
180
って、あるとします。
テーブル適当です。。。69さんの値以外。
・和集合
→テーブル1とテーブル2は和集合演算はできません。
だって、和両立じゃないから。
テーブル1とテーブル3が演算できます。で、結果は
名前 年齢 身長
69 24 180
70 70 170
71 71 171
72 72 172
73 73 173
てな感じです。71さんの重複は一つにまとめられちゃいます。
・差集合
→これもテーブル1とテーブル2は差集合演算できません。
だって、…。
テーブル1-テーブル3の結果は
名前 年齢 身長
69 24 180
70 70 170
逆にテーブル3-テーブル1は
名前 年齢 身長
72 72 172
73 73 173です。
・積集合
→これもテーブル1とテーブル3で行うと
名前 年齢 身長
71 71 171
ですね。
・直積集合
→やっと、テーブル2の出番です。
テーブル1×テーブル2の結果は
名前 年齢 身長 名前 誕生日 体重
69 24 180 68 6/8 68
69 24 180 69 7/10 60
69 24 180 70 7/11 70
70 70 170 68 6/8 68
70 70 170 69 7/10 60
70 70 170 70 7/11 70
71 71 171 68 6/8 68
71 71 171 69 7/10 60
71 71 171 70 7/11 70
で、合ってると思います。以後ではテーブル12という名前で使っていきます。
・選択
→テーブル12から誕生日=7/10という比較条件で選択演算をすると
名前 年齢 身長 名前 誕生日 体重
69 24 180 69 7/10 60
70 70 170 69 7/10 60
71 71 171 69 7/10 60
だし、比較条件を身長=170とすると
名前 年齢 身長 名前 誕生日 体重
70 70 170 68 6/8 68
70 70 170 69 7/10 60
70 70 170 70 7/11 70
です。
・射影
→テーブル12から身長と体重という属性のみ取り出します。
身長 体重
180 68
180 60
180 70
170 68
170 60
170 70
171 68
171 60
171 70
だし、年齢と身長だけ取り出すと
年齢 身長
24 180
70 170
71 171
です。重複は除外されます。
・等結合
→テーブル1とテーブル2をテーブル1の名前=テーブル2の名前で等結合します。
名前 年齢 身長 名前 誕生日 体重
69 24 180 69 7/10 60
70 70 170 70 7/11 70
です。これは、テーブル12から名前=名前のものを選択したと考えられるらしい。。。
・自然結合
→テーブル1とテーブル2をテーブル1の名前=テーブル2の名前で自然結合します。
名前 年齢 身長 誕生日 体重
69 24 180 7/10 60
70 70 170 7/11 70
うん。これが見慣れた感じ。
・左外部結合
→テーブル1とテーブル2をテーブル1の名前=テーブル2の名前で左外部結合します。
名前 年齢 身長 名前 誕生日 体重
69 24 180 69 7/10 60
70 70 170 70 7/11 70
71 71 171 NULL NULL NULL
です。てか、どっちが左になるんだろう…
テーブル1と2をって言ったら、1が左なのかな?それでいいのかな?
・右外部結合
→テーブル1とテーブル2をテーブル1の名前=テーブル2の名前で左外部結合します。
名前 年齢 身長 名前 誕生日 体重
NULL NULL NULL 68 6/8 68
69 24 180 69 7/10 60
70 70 170 70 7/11 70
・フル外部結合
→テーブル1とテーブル2をテーブル1の名前=テーブル2の名前で左外部結合します。
名前 年齢 身長 名前 誕生日 体重
NULL NULL NULL 68 6/8 68
69 24 180 69 7/10 60
70 70 170 70 7/11 70
71 71 171 NULL NULL NULL
・商演算
→やっとテーブル4の登場です。
テーブル1÷テーブル4
名前 年齢
69 24
かな?正直わかりません。。。
こんなもんかな?演算結果が違ってたり、例が悪いかもですが
なんとなく、イメージはわかったような。。。
おしまい。
0 件のコメント:
コメントを投稿