15. 左外部結合 - 例
• wineとvineyardを産地IDで(等価)左外部結合
• wine⟕産地ID=産地IDvineyard
• SELECT * FROM
wine LEFT OUTER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 15p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
16. 左外部結合 - 例
• wineとvineyardを産地IDで外部結合
• wine⟕産地ID=産地IDvineyard
• SELECT * FROM
wine INNER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 16p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
ワインID 名前 産地ID 価格 産地ID 産地
1 シャブリ A 2400 A ブルゴーニュ
2 ジュヴレシャンベルタン A 3000 A ブルゴーニュ
3 サンテミリオン B 5800 B ボルドー
4 オーメドック B 2200 B ボルドー
5 サンセール C 2800 C ロワール
6 シャンパン D 4000 D シャンパーニュ
7 十勝 F 2000 NULL NULL
17. 右外部結合 - 例
• wineとvineyardを産地IDで(等価)右外部結合
• wine ⟖産地ID=産地IDvineyard
• SELECT * FROM
wine RIGHT OUTER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 17p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
18. 右外部結合 - 例
• wineとvineyardを産地IDで(等価)右外部結合
• wine⟕産地ID=産地IDvineyard
• SELECT * FROM
wine INNER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 18p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
ワインID 名前 産地ID 価格 産地ID 産地
1 シャブリ A 2400 A ブルゴーニュ
2 ジュヴレシャンベルタン A 3000 A ブルゴーニュ
3 サンテミリオン B 5800 B ボルドー
4 オーメドック B 2200 B ボルドー
5 サンセール C 2800 C ロワール
6 シャンパン D 4000 D シャンパーニュ
NULL NULL NULL NULL E チリ
19. 完全外部結合 - 例
• wineとvineyardを産地IDで(等価)右外部結合
• wine ⟗産地ID=産地IDvineyard
• SELECT * FROM
wine FULL OUTER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 19p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
20. 完全外部結合 - 例
• wineとvineyardを産地IDで外部結合
• wine⟕産地ID=産地IDvineyard
• SELECT * FROM
wine INNER JOIN vineyard
ON wine.産地ID = vineyard.産地ID;
データベースシステム論 第 回2016 [ 4 ] 20p.
ワインID 名前 産地ID 価格
1 シャブリ A 2400
2 ジュヴレシャンベルタン A 3000
3 サンテミリオン B 5800
4 オーメドック B 2200
5 サンセール C 2800
6 シャンパン D 4000
7 十勝 F 2000
産地ID 産地
A ブルゴーニュ
B ボルドー
C ロワール
D シャンパーニュ
E チリ
wine vineyard
ワインID 名前 産地ID 価格 産地ID 産地
1 シャブリ A 2400 A ブルゴーニュ
2 ジュヴレシャンベルタン A 3000 A ブルゴーニュ
3 サンテミリオン B 5800 B ボルドー
4 オーメドック B 2200 B ボルドー
5 サンセール C 2800 C ロワール
6 シャンパン D 4000 D シャンパーニュ
NULL NULL NULL NULL E チリ
7 十勝 F 2000 NULL NULL