問題ID:19907

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2020-8-25 18:43
kirikiri3150  新米   投稿数: 2
ID:19907の問題ですが、回答に

「EMPLOYEES表とJOBS表の結合においても、全社員の氏名を表示するということは「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」

とありましたが、JOBS表を見るとNOT NULL制約がついてました。この場合でも、LEFT OUTER JOINでないと正しい結果にならないのでしょうか?
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-8-26 9:32
quensan  長老   投稿数: 119
NOT NULL制約がついているのはJOBS表の方ですね。
JOIN句の左側のEMPLOYEES表のJOB_ID列はNOT NULL制約がないのでNULLの場合もありえます。
そのため「職種の無い(JOB_IDがNULLの)社員も表示」するので、JOIN句の左側のデータを全て取り出す左側外部結合を行います。」ということではないでしょうか。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-8-26 9:52
kirikiri3150  新米   投稿数: 2
回答ありがとうございます。

仰る通りですね、勘違いしておりました。
すっきりしました。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.