ตรวจสอบการ JOIN หลายตาราง
ลองดูผลลัพธ์ของแอลเบเนียจากคิวรีก่อนหน้าด้านล่าง จะเห็นว่า fertility_rate ปี 2015 ถูกจับคู่กับ unemployment_rate ปี 2010 และในทางกลับกันด้วย
| name | year | fertility_rate | unemployment_rate |
|---|---|---|---|
| Albania | 2015 | 1.663 | 17.1 |
| Albania | 2010 | 1.663 | 14 |
| Albania | 2015 | 1.793 | 17.1 |
| Albania | 2010 | 1.793 | 14 |
แทนที่จะได้ 4 แถว คิวรีควรคืนค่าเพียง 2 แถว — หนึ่งแถวต่อหนึ่งปี การ JOIN ครั้งสุดท้ายใช้เงื่อนไข c.code = e.code เพียงอย่างเดียว โดยไม่ได้ JOIN บน year ด้วย แบบฝึกหัดนี้จึงให้แก้ไขคิวรีโดยระบุให้ชัดเจนว่าต้องจับคู่ทั้ง code และ year ให้ตรงกัน!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การ Join ข้อมูลใน SQL
คำแนะนำการฝึกหัด
- แก้ไขคิวรีให้ JOIN กับตาราง
economiesบนyearด้วย นอกเหนือจากcode
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT name, e.year, fertility_rate, unemployment_rate
FROM countries AS c
INNER JOIN populations AS p
ON c.code = p.country_code
INNER JOIN economies AS e
ON c.code = e.code
-- Add an additional joining condition such that you are also joining on year
___;