問題ID:13463

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2022-2-4 9:19
223yu  新米   投稿数: 2
SELECT d.department_id, d.department_name, e.employee_name, e.hiredate FROM departments d JOIN employees e ON d.department_id = e.department_id AND d.manager_id = e.manager_id ORDER BY department_id, employee_id, hiredate;

上の選択肢が正解になっておりますが、ORDER BY department_idに
d or e の表接頭辞が必要な気がしております。なぜ不要なのかご教授ください。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2022-2-4 12:54
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
上の選択肢が正解になっておりますが、ORDER BY department_idに
d or e の表接頭辞が必要な気がしております。なぜ不要なのかご教授ください。
ORDER BYは「最終的な出力となる表についての並べ替え」をするものだからですね。

SELECTで抽出する際は「どの表のカラムか」を特定するために接頭辞が必要になりますが、JOIN後の表ではカラム名に接頭辞がついてないのが解説の「設問と正解のSQL文の実行結果」からわかると思います。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2022-2-7 7:35
223yu  新米   投稿数: 2
ご回答いただき、ありがとうございます!

手元の実行環境でも試してみた結果、エラーなく動きました。

ご教授いただいた通り、ORDER BY句が作用するタイミングを考えると納得できました。

  >フォーラム検索へ


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