Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Napisz CTE o nazwie south_cte dla 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;
Edytuj i uruchom kod