前提
mySQLの基礎を教材を使って勉強中の者です。
答えのコードがわかるのですが、なぜそうなるのかが解説を見てもわからなくて悩んでいます。
よろしくお願いします。
従業員情報(employees)に主キーのIDと名前の他に、マネージャー役職の人にだけmanager_idがintで振られており、マネージャーでない人のmanager_idはnullになっています。
従業員情報(employees)のテーブルをself joinして同じテーブルのマネージャーIDからIDを結合し、上司と部下の氏名を導き出すという問題です。
実現したいこと
この答えになる理由が知りたい。解き方が理解しやすいヒントや解説をお願いしたい。
該当のソースコード
答えは下記のソースコードなのですが、
e1が部下の名前、e2が上司の名前になる理由がいまいちわからなく、自分で解くと上司と部下どっちをどっちのas名の名前にしていいのかいまいちわかりません。
select CONCAT(e1.last_name,e1.first_name) as '部下の名前', CONCAT(e2.last_name,e2.first_name) as '上司の名前' from employees e1 inner join employees e2 on e1.manager_id = e2.id ;
試したこと
似たような問題を検索
補足情報(FW/ツールのバージョンなど)
MySQL 8.0.31
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/22 12:06 編集