Aan de slagGa gratis aan de slag

Filteren naar vrieskou met een subquery

Van de eerste Olympische Spelen in 1904 tot en met de Spelen van 2016 hebben Afrikaanse landen 7.845 atleten afgevaardigd. Maar slechts 55 van die atleten deden mee aan de Winterspelen.

Eén kwart van Afrika wordt bedekt door de Sahara en de niet-woestijngebieden hebben het hele jaar door warmte. Misschien beperkt dit gebrek aan koude en sneeuw de trainingsmogelijkheden voor Winter-Olympiërs.

Hier ga je klimaatgegevens verkennen om te zien of alle Afrikaanse landen winterse sportomstandigheden missen. De World Bank verzamelt gemiddelde temperaturen en neerslag per land. Maandelijkse en jaarlijkse 40-jaarsgemiddelden zijn al ingeladen, met temperatuur in graden Celsius (0 is vriespunt) en neerslag in millimeters.

Bekijk de klimaatgegevens en zoek naar landen die het hele jaar door onder het vriespunt blijven. Zijn er daarvan in Afrika?

Deze oefening maakt deel uit van de cursus

Queryprestaties verbeteren in PostgreSQL

Cursus bekijken

Oefeninstructies

  • Beperk je tot atleten die alleen aan de Winterspelen deelnamen, met de kolom season.
  • Gebruik een subquery om alleen die landen uit de oclimate-tabel te selecteren met een gemiddelde jaartemperatuur (temp_annual) onder het vriespunt (0 graden).
    • Selecteer de landcodes, olympic_cc, uit de oclimate-tabel om de country_code uit de athletes_recent-tabel te filteren.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- 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;
Code bewerken en uitvoeren