H31午後Ⅰ問2設問1(2)d

cybershotさん  
(No.1)
公式解答は「従業員.部署コード」となっています。
結合するテーブルのうち、部署コードの列は"従業員"テーブルしかないので、表名を省略して単に「部署コード」でも正解になりますか?
(標準SQLでは表明省略不可とかいうルールあるんでしたっけ…)
2023.09.30 23:25
cybershotさん  
(No.2)
すみません、年度はH31ではなくH30の間違いでした
2023.10.01 00:25
ピノッキさん 
(No.3)
過去問の解説に
「'部署コード'だけでも構わないが、問題では従業員家族テーブルにしかない'扶養フラグ'を'従業員家族.扶養フラグ'としているので、揃えたほうがよいと考える。」

とあります。

結論、表名はこの問題では省略可能でしょう。
2023.10.01 08:39
cybershotさん  
(No.4)
ありがとうございます!
私の手元の解答解説ではその辺り明言されていなかったので、助かります。
2023.10.01 12:38
GinSanaさん 
DB シルバーマイスター
(No.5)
省略すると、オプティマイザ側で表名修飾とASの別名修飾を自動でする(表名は持ち主、ASは同名)ので、同名の列がクエリの登場テーブルに存在しなければ、どっちでもいいことになります。
現実だったら、この修飾処理にはCPUを使うので、CPUをケチるために指定しておくのはふつう(ふつうというのもなんだが、一時的なプログラムでもなければ修飾指定はする)、ということになります。
2023.10.01 13:22

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop