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

Connected

演習

結合(Joins)

両方のテーブルから列を選択しない場合や、2 つのテーブルのリレーションシップが定義されていない場合でも、あるテーブルに対して .join() メソッドを使って別のテーブルと結合し、クエリに関連する追加データを取得できます。join() は、最初の引数に結合対象のテーブルオブジェクト、2 番目の引数にテーブル同士がどのように関連しているかを示す条件を取ります。最後に、select 文に対して .select_from() メソッドを使い、join 句を指定します。たとえば動画では、Jason は次のコードを実行して、census テーブルの state 列が state_fact テーブルの name 列に対応するように、census テーブルと state_fact テーブルを結合しました。

stmt = stmt.select_from(
    census.join(
        state_fact, census.columns.state == 
        state_fact.columns.name)

指示

100 XP
  • census と state_fact の両テーブルから ALL の列を選択するステートメントを作成します。たとえば、2 つのテーブル employees と sales から ALL の列を選ぶには、stmt = select([employees, sales]) を使います。
  • stmt に select_from を追加し、census テーブルの state 列と state_fact テーブルの name 列で census テーブルを state_fact テーブルに結合します。
  • ステートメントを実行して最初の結果を取得し、result に保存します。このコードはすでに用意されています。
  • 結果オブジェクトのキーをループして、それぞれのキーと値を出力し、回答を提出してください!