さまざまな JOIN を使って選手の地域を調べる
自分の国のオリンピアンについては詳しいかもしれません。たとえば、ロシアでは多くの人がフィギュアスケートを観戦します。ケニアは陸上競技で強い存在感があります。カナダはホッケーで優勢です。こうした傾向は「地域」全体でも当てはまるのでしょうか? すべてのヨーロッパの国にフィギュアスケートのオリンピアンがいるのでしょうか? 北米のすべての国にオリンピックレベルのホッケーチームがあるのでしょうか?
2014 年冬季オリンピックで、フィギュアスケートの選手を派遣したヨーロッパの国を確認しましょう。athletes テーブルはすでにフィギュアスケート選手に、regions テーブルはヨーロッパの国に絞り込まれています。異なる種類の JOIN を使い、結果を比較してください。
この演習はコースの一部です
PostgreSQLでクエリ性能を改善する
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT reg.region, reg.country
, COUNT(DISTINCT ath.athlete_id) AS no_athletes
FROM ___ ___
___ JOIN ___ ___
ON reg.olympic_cc = ath.country_code
GROUP BY reg.region, reg.country
ORDER BY no_athletes DESC;