始める無料で始める

外部キーで結びついたテーブルを JOIN (結合)する

この2つのテーブルを結合して、データをさらに分析してみましょう。

SQL の結合については、データサイエンスのためのSQL入門 コース(最後の演習)または PostgreSQLのデータ結合 で学んだことがあるかもしれません。

結合の基本的な構造をおさらいしておきましょう。

SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...

外部キーと主キーは結合クエリに必須ではありませんが、何が得られるかを明示してくれるため、非常に役立ちます。たとえば、テーブルAから参照されているレコードは必ずテーブルBに存在することになります。そのため、テーブルAから結合すれば、テーブルBで必ず対応するレコードが見つかります。もし見つからない場合は、外部キー制約に違反していることになります。

この演習はコースの一部です

SQL リレーショナルデータベース入門

コースを見る

演習の手順

  • professorsuniversitiesprofessors.university_id = universities.idJOIN してください。つまり、professors の外部キーが universities の主キーと一致するレコードをすべて残します。
  • university_city = 'Zurich' でフィルタリングしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Select all professors working for universities in the city of Zurich
SELECT professors.lastname, universities.id, universities.university_city
___ professors
___ ___
ON ___.university_id = universities.___
___ universities.university_city = ___;
コードを編集して実行