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

เริ่มต้นใช้งาน Correlated Subqueries

Correlated subqueries คือ subqueries ที่อ้างอิงคอลัมน์อย่างน้อยหนึ่งคอลัมน์จาก main query Correlated subqueries ต้องพึ่งข้อมูลจาก main query ในการทำงาน จึงไม่สามารถรันแยกเดี่ยวได้

ใน SQL นั้น Correlated subqueries จะถูกประมวลผลทีละแถวของข้อมูลที่ดึงมา ซึ่งใช้พลังการประมวลผลและเวลามากกว่า subquery ทั่วไปอย่างมาก

ในแบบฝึกหัดนี้ จะได้ฝึกใช้ correlated subqueries เพื่อค้นหาแมตช์ที่มีคะแนนผิดปกติเกินไปในแต่ละประเทศ นั่นคือสูงกว่าค่าเฉลี่ยถึง 3 เท่า!

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

การจัดการข้อมูลใน SQL

ดูคอร์ส

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

  • เริ่มต้น subquery ใน WHERE โดยคำนวณค่าเฉลี่ย (mean) ของประตูเจ้าบ้านและทีมเยือน
  • กำหนดการอ้างอิงคอลัมน์ใน subquery ให้ครบถ้วน โดยจับคู่ country_id ระหว่างตาราง main และ sub

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

SELECT 
	main.country_id,
    main.date,
    main.home_goal,
    main.away_goal
FROM match AS main
WHERE 
	-- Filter the main query by the subquery
	(home_goal + away_goal) > 
        (SELECT AVG((___ + sub.away_goal) * 3)
         FROM match AS sub
         -- Join the main query to the subquery with country_id in WHERE
         WHERE main.___ = sub.___);
แก้ไขและรันโค้ด