1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶデータベース入門

Connected

演習

同一テーブルの自己結合をエイリアスで扱う

従業員と、同じく従業員であるマネージャーのように、階層構造のデータを含むテーブルを扱うことはよくあります。この場合、同じテーブルを異なる列で結合(自己結合)したくなることがあります。テーブルの複製を作る .alias() メソッドは、この作業に役立ちます。同じテーブル同士なので、結合条件を指定するには where 句だけで十分です。

ここでは、.alias() メソッドを使って employees テーブルを自分自身に結合し、各従業員が誰にレポートしているかを求めるクエリを作成します。

指示

100 XP
  • employees テーブルのエイリアスを managers という名前で保存します。そのために、employees にメソッド .alias() を適用します。
  • 従業員の name と、そのマネージャーの name を選択するクエリを作成します。マネージャーの name はすでに選択済みです。label を使って、employees の name 列に 'employee' というラベルを付けてください。
  • stmt に where 句を追加し、managers テーブルの id 列が employees テーブルの mgr 列に対応するように一致させます。
  • ステートメントを managers テーブルの name 列で並べ替えます。
  • ステートメントを実行して、すべての結果を保存します。このコードはすでに書かれています。マネージャーとその部下全員の名前が表示されるように、回答を送信してください。