Quand l’hiver est vraiment blanc
Le Canada, la Russie et la Mongolie sont les seuls pays à avoir des athlètes olympiques et une température annuelle moyenne sous le point de congélation. Le plus souvent, les pays n’ont des températures négatives qu’en hiver. Les pays qui connaissent seulement quelques mois de gel et de neige offrent tout de même aux athlètes la possibilité de s’entraîner pour des épreuves comme le ski ou le bobsleigh.
Dans cet esprit, vous allez examiner les données climatiques des pays ayant des athlètes olympiques, en utilisant les températures mensuelles moyennes sur 40 ans. Intrigué par la faible participation aux Jeux d’hiver en Afrique, vous décidez d’examiner la température pour toutes les régions olympiques de l’hémisphère sud.
Écrivez la requête en privilégiant la lisibilité grâce à une expression de table commune (CTE).
Cet exercice fait partie du cours
Améliorer les performances des requêtes dans PostgreSQL
Instructions
- Écrivez une CTE,
south_cte, pour l’hémisphère sud. - Trouvez la température moyenne de juin et les précipitations dans la table
oclimate. - Faites une jointure sur les résultats pour afficher la température moyenne des mois d’hiver pour toutes les régions.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
___ ___ ___ -- CTE
(
SELECT region
, ROUND(AVG(temp_06),2) AS avg_winter_temp
, ROUND(AVG(precip_06),2) AS avg_winter_precip
FROM ___
WHERE region IN ('Africa','South America','Australia and Oceania')
GROUP BY region
)
SELECT south.region, south.avg_winter_temp, south.avg_winter_precip
, COUNT(DISTINCT ath.athlete_id)
FROM ___ as south
INNER JOIN athletes_recent ath
ON south.region = ath.region
AND ath.season = 'Winter'
GROUP BY south.region, south.avg_winter_temp, south.avg_winter_precip
ORDER BY south.avg_winter_temp;