問題ID:19907について
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題ID:19907について
msg# 1
Kazumi94
投稿数: 6
SELECT句に記載されている「manager_name」についてですが、EMPLOYEES表、JOBS表のどちらにも無い列名と思われるのですが、私の方で見落としているだけになりますでしょうか。
Re: 問題ID:19907について
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
引用:はい、どちらの表にもないです。見落としじゃないですよ。
ただ、設問のSQLをよく見ると
となっていますね。これは「m.employee_name」に manager_name という別名をつけているのです。
こんな感じで、列名の後ろに別名を指定するだけで列名を変えることができます。
SQLの意図としては
e.employee_name:従業員(本人)の名前
m.employee_name:従業員の上司の名前
なので、同じ employee_name とならないようにしているんですね。
SELECT句に記載されている「manager_name」についてですが、EMPLOYEES表、JOBS表のどちらにも無い列名と思われるのですが、私の方で見落としているだけになりますでしょうか。
ただ、設問のSQLをよく見ると
SELECT e.employee_name, m.employee_name manager_name, j.job_name
(略)
こんな感じで、列名の後ろに別名を指定するだけで列名を変えることができます。
SQL> SELECT 'TEST WORD' FROM DUAL;
'TESTWORD
---------
TEST WORD
SQL> SELECT 'TEST WORD' COLNAME FROM DUAL;
COLNAME
---------
TEST WORD
SQLの意図としては
e.employee_name:従業員(本人)の名前
m.employee_name:従業員の上司の名前
なので、同じ employee_name とならないようにしているんですね。
Re: 問題ID:19907について
msg# 1.2
Kazumi94
投稿数: 6
ご回答ありがとうございます。
列の別名としてmanager_nameを指定をするという点に思い至っておりませんでした。
同じ列名がある場合に別の名前をつけて区別するということはありえるパターンですね。
わかりやすい丁寧な解説ありがとうございます。
このタイプの問題に気をつけるようにしたいと思います。
ありがとうございました。
列の別名としてmanager_nameを指定をするという点に思い至っておりませんでした。
同じ列名がある場合に別の名前をつけて区別するということはありえるパターンですね。
わかりやすい丁寧な解説ありがとうございます。
このタイプの問題に気をつけるようにしたいと思います。
ありがとうございました。