Filtrer jusqu’au gel avec une sous-requête
Des premiers Jeux olympiques en 1904 jusqu’à ceux de 2016, les pays africains ont envoyé 7 845 athlètes. Cependant, seulement 55 d’entre eux ont participé aux Jeux olympiques d’hiver.
Un quart de l’Afrique est recouvert par le Sahara, et les zones non désertiques connaissent une chaleur permanente toute l’année. Ce manque de froid et de neige limite peut-être les possibilités d’entraînement pour les athlètes des JO d’hiver.
Ici, vous allez explorer des données climatiques pour vérifier si tous les pays africains manquent de conditions propices aux sports d’hiver. La Banque mondiale collecte les températures et précipitations moyennes par pays. Des moyennes mensuelles et annuelles sur 40 ans sont préchargées, avec la température en degrés Celsius (0 correspond au gel) et les précipitations en millimètres.
Examinez les données climatiques en recherchant les pays qui restent en dessous de 0 °C toute l’année. Y en a-t-il en Afrique ?
Cet exercice fait partie du cours
Améliorer les performances des requêtes dans PostgreSQL
Instructions
- Limitez-vous aux athlètes ayant participé uniquement aux Jeux olympiques d’hiver, en utilisant la colonne
season. - Utilisez une sous-requête pour sélectionner uniquement les pays de la table
oclimateayant une température annuelle moyenne (temp_annual) inférieure ou égale au point de gel (0 degré).- Sélectionnez les codes pays,
olympic_cc, depuis la tableoclimatepour filtrercountry_codedans la tableathletes_recent.
- Sélectionnez les codes pays,
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de 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;