Tam, gdzie zima jest biała
Kanada, Rosja i Mongolia to jedyne kraje, w których mieszkają olimpijczycy i gdzie średnia roczna temperatura spada poniżej zera. Częściej jednak kraje doświadczają mrozów tylko przez kilka zimowych miesięcy. Nawet kilka tygodni ujemnych temperatur i śniegu wystarczy, żeby sportowcy mogli trenować narciarstwo, bobsleje i inne dyscypliny zimowe.
Mając to na uwadze, przeanalizujesz dane klimatyczne krajów, z których wywodzą się olimpijczycy – na podstawie 40-letniej średniej miesięcznej temperatury. Szczególnie intryguje cię niski udział Afryki w Zimowych Igrzyskach Olimpijskich, dlatego postanowiasz przyjrzeć się temperaturom we wszystkich regionach olimpijskich na półkuli południowej.
Napisz zapytanie zoptymalizowane pod kątem czytelności, korzystając z Common Table Expression (CTE).
To ćwiczenie jest częścią kursu
Optymalizacja wydajności zapytań w PostgreSQL
Instrukcje do ćwiczenia
- Napisz CTE o nazwie
south_ctedla półkuli południowej. - Oblicz średnią temperaturę i opady w czerwcu na podstawie tabeli
oclimate. - Złącz wyniki, aby wyświetlić średnią temperaturę w miesiącach zimowych dla wszystkich regionów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
___ ___ ___ -- 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;