用子查詢篩選出零度以下
從 1904 年的首屆奧運到 2016 年,非洲各國共派出 7,845 位運動員。不過,其中只有 55 位參加過冬季奧運。
非洲有四分之一的面積被撒哈拉沙漠覆蓋,其他非沙漠區域也全年炎熱。或許缺乏寒冷與降雪,限制了冬季奧運選手的訓練機會。
在這裡,你要探索氣候資料,看看是否「所有」非洲國家都缺乏冬季運動所需的條件。世界銀行蒐集了各國的平均氣溫與降水量。月均與年均的 40 年期平均已預先載入,氣溫以攝氏度表示(0 度為結冰點),降水量以毫米表示。
請檢視這些氣候資料,找出全年都在冰點以下的國家。非洲有這樣的國家嗎?
本練習屬於課程
改進 PostgreSQL 的查詢效能
練習說明
- 使用
season欄位,僅限參加冬季奧運的運動員。 - 使用子查詢,從
oclimate表中只選取年平均氣溫(temp_annual)低於冰點(0 度)的國家。- 從
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;