เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

กรองข้อมูลเฉพาะประเทศที่มีอุณหภูมิต่ำกว่าจุดเยือกแข็งด้วย Subquery

นับตั้งแต่โอลิมปิกครั้งแรกในปี 1904 จนถึงการแข่งขันในปี 2016 ประเทศในแอฟริกาส่งนักกีฬารวมทั้งสิ้น 7,845 คน แต่มีเพียง 55 คนเท่านั้นที่เข้าร่วมแข่งขันในโอลิมปิกฤดูหนาว

หนึ่งในสี่ของแอฟริกาถูกปกคลุมด้วยทะเลทรายซาฮารา และพื้นที่ที่ไม่ใช่ทะเลทรายก็มีอากาศร้อนตลอดทั้งปี ความขาดแคลนสภาพอากาศหนาวและหิมะนี้อาจเป็นปัจจัยที่จำกัดโอกาสในการฝึกซ้อมของนักกีฬาโอลิมปิกฤดูหนาว

ในแบบฝึกหัดนี้ คุณจะสำรวจข้อมูลภูมิอากาศเพื่อดูว่าประเทศในแอฟริกา ทั้งหมด ขาดสภาพแวดล้อมที่เหมาะสมสำหรับกีฬาฤดูหนาวหรือไม่ ธนาคารโลกได้รวบรวมข้อมูลอุณหภูมิและปริมาณฝนเฉลี่ยของแต่ละประเทศ โดยค่าเฉลี่ยรายเดือนและรายปีในช่วง 40 ปี ถูกโหลดไว้ล่วงหน้าแล้ว โดยอุณหภูมิอยู่ในหน่วยองศาเซลเซียส (0 คือจุดเยือกแข็ง) และปริมาณฝนอยู่ในหน่วยมิลลิเมตร

ลองตรวจสอบข้อมูลภูมิอากาศนี้ โดยมองหาประเทศที่มีอุณหภูมิต่ำกว่าจุดเยือกแข็งตลอดทั้งปี มีประเทศในแอฟริกาที่ตรงกับเงื่อนไขนี้หรือไม่?

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กรองเฉพาะนักกีฬาที่เข้าร่วมโอลิมปิกฤดูหนาวเท่านั้น โดยใช้คอลัมน์ season
  • ใช้ subquery เพื่อเลือกเฉพาะประเทศจากตาราง 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;
แก้ไขและรันโค้ด