Correlated subquery ที่มีหลายเงื่อนไข
Correlated subquery มีประโยชน์มากเมื่อต้องการจับคู่ข้อมูลจากหลายคอลัมน์ ในแบบฝึกหัดที่แล้ว เราสร้างรายการแมตช์ที่มีสกอร์สูงผิดปกติในแต่ละประเทศ แบบฝึกหัดนี้จะเพิ่มคอลัมน์อีกหนึ่งคอลัมน์สำหรับการจับคู่ เพื่อตอบคำถามว่า—แมตช์ที่มีสกอร์สูงสุดในแต่ละประเทศและแต่ละฤดูกาลคือแมตช์ใด?
*หมายเหตุ: คิวรีนี้อาจใช้เวลาโหลดสักครู่
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- เขียนซับคิวรีให้สมบูรณ์เพื่อเลือกแมตช์ที่มีจำนวนประตูรวมสูงสุด
- จับคู่ซับคิวรีกับคิวรีหลักโดยใช้คอลัมน์
country_idและseasonจากทั้งสองตาราง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter for matches with the maximum number of total goals scored
(home_goal + away_goal) =
(SELECT ___(___ + sub.away_goal)
FROM match AS sub
-- Join the main query to the subquery in WHERE
WHERE ___ = sub.___
AND ___ = sub.___);