HOME»応用情報技術者試験掲示板»平成30年秋期午後問6 設問5
投稿する

平成30年秋期午後問6 設問5 [4367]

 教えてくださいさん(No.1) 
お世話になります。類似の質問が上がっておりますが、皆様の回答を見ているうちにわからなくなってしまったので教えていただけますと幸いです。

自分はこの設問を以下のように解答しました。
T2.所属組織ID=T3.組織ID AND T3.組織長の社員ID=T2.社員ID

模範解答は、
T1.所属組織ID=T3.組織ID AND T3.組織長の社員ID=T2.社員ID
です。

模範解答が正しいのはわかりますが、自分の回答でも同じ結果を導けるのでは?と思います。
自分の回答がNGな理由を教えていただきたいです。

https://www.ap-siken.com/kakomon/30_aki/pm06.html
2023.08.05 18:40
jjon-comさん(No.2) 
AP プラチナマイスター
質問者の解答を 図5 空欄f のWHERE句にあてはめると次のようになります。

SELECT T1.社員ID, T1.氏名, T1.勤務区分, T2.氏名
FROM HR.社員 T1, HR.社員 T2, HR.組織 T3
WHERE T2.所属組織ID = T3.組織ID AND T3.組織長の社員ID = T2.社員ID

FROM句に T1, T2, T3の3つの表が登場するのに
WHERE句で結合するのはT2とT3の間だけであるなら、
T1からは全行が出力されます。

質問者の結合条件によってT2とT3から抽出された行数 × T1の全行数

が出力される総行数になるということです。
2023.08.05 19:09
 教えてくださいさん(No.3) 
jjon-comさん

コメントありがとうございます。
たしかに、FROM句にT1,T2,T3の3つのテーブルが指定されているのに、T2とT3のテーブルの結合しかしなければ、T1はすべて出力されてしまいますね。
大変助かりました。ありがとうございます。
2023.08.06 08:13

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop