始める無料で始める

サブクエリで氷点下に絞り込む

1904 年の最初のオリンピックから 2016 年大会までに、アフリカ諸国は 7,845 人の選手を派遣しました。しかし、そのうち冬季オリンピックに出場したのは 55 人だけです。

アフリカの 4 分の 1 はサハラ砂漠が占めており、非砂漠地帯も年間を通して高温です。寒さや降雪が少ないことが、冬季種目のトレーニング機会を制限しているのかもしれません。

ここでは、アフリカのすべての国が冬季スポーツに適した条件を欠いているのかを気候データで確認します。世界銀行は各国の平均気温と降水量を収集しています。月別および年別の 40 年平均が、気温は摂氏(0 は氷点)、降水量はミリメートルであらかじめ読み込まれています。

年間を通して氷点下となる国がないか、気候データを調べてみましょう。アフリカにそのような国はありますか?

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

PostgreSQLでクエリ性能を改善する

コースを見る

演習の手順

  • season 列を使って、冬季オリンピックにのみ参加している選手に限定します。
  • サブクエリを使って、年間平均気温(temp_annual)が氷点下(0 度)未満の国だけを oclimate テーブルから選択します。
    • oclimate テーブルの国コード olympic_cc を選択し、それを使って athletes_recent テーブルの country_code をフィルタします。

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

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

-- Countries cold enough for snow year-round
SELECT country_code
  , country
  , COUNT (DISTINCT athlete_id) AS winter_athletes -- Athletes can compete in multiple events 
FROM athletes
WHERE country_code IN (___ ___ ___ ___ WHERE temp_annual < 0)
AND ___ = 'Winter'
GROUP BY country_code, country;
コードを編集して実行