Фильтрация по температуре ниже нуля с помощью подзапроса
С первых Олимпийских игр 1904 года и вплоть до Игр 2016 года африканские страны направили на соревнования 7 845 атлетов. Однако лишь 55 из них участвовали в зимних Олимпийских играх.
Четверть территории Африки занята Сахарой, а в остальных регионах круглый год стоит жара. Возможно, именно отсутствие холодного климата и снега ограничивает возможности для тренировок зимних олимпийцев.
В этом упражнении вы изучите климатические данные, чтобы понять, действительно ли все африканские страны лишены условий для зимних видов спорта. Всемирный банк собирает данные о средних температурах и уровне осадков по каждой стране. Среднемесячные и среднегодовые значения за 40 лет уже загружены: температура указана в градусах Цельсия (0 — точка замерзания), осадки — в миллиметрах.
Проанализируйте климатические данные и найдите страны, где температура остаётся ниже нуля круглый год. Есть ли среди них африканские?
Это упражнение является частью курса
Оптимизация запросов в PostgreSQL
Инструкции к упражнению
- Отфильтруйте данные, оставив только атлетов, участвовавших в зимних Олимпийских играх, — используйте столбец
season. - С помощью подзапроса выберите из таблицы
oclimateтолько те страны, где среднегодовая температура (temp_annual) ниже нуля (0 градусов).- Выберите коды стран
olympic_ccиз таблицыoclimate, чтобы отфильтровать значенияcountry_codeв таблицеathletes_recent.
- Выберите коды стран
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- 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;