問題ID:19907
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題ID:19907
msg# 1
kirikiri3150
投稿数: 2
ID:19907の問題ですが、回答に
「EMPLOYEES表とJOBS表の結合においても、全社員の氏名を表示するということは「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」
とありましたが、JOBS表を見るとNOT NULL制約がついてました。この場合でも、LEFT OUTER JOINでないと正しい結果にならないのでしょうか?
「EMPLOYEES表とJOBS表の結合においても、全社員の氏名を表示するということは「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」
とありましたが、JOBS表を見るとNOT NULL制約がついてました。この場合でも、LEFT OUTER JOINでないと正しい結果にならないのでしょうか?
Re: 問題ID:19907
msg# 1.1
quensan
投稿数: 119
NOT NULL制約がついているのはJOBS表の方ですね。
JOIN句の左側のEMPLOYEES表のJOB_ID列はNOT NULL制約がないのでNULLの場合もありえます。
そのため「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」ということではないでしょうか。
JOIN句の左側のEMPLOYEES表のJOB_ID列はNOT NULL制約がないのでNULLの場合もありえます。
そのため「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」ということではないでしょうか。
Re: 問題ID:19907
msg# 1.2
kirikiri3150
投稿数: 2
回答ありがとうございます。
仰る通りですね、勘違いしておりました。
すっきりしました。
仰る通りですね、勘違いしておりました。
すっきりしました。