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

ซับคิวรีมีอยู่ทุกหนทุกแห่ง

ในลีกฟุตบอล การแข่งขันจะแบ่งออกเป็นหลาย รอบ ทีมที่ชนะจะผ่านเข้าสู่รอบถัดไปเรื่อยๆ จนกว่าจะถึงรอบชิงชนะเลิศ ในแต่ละรอบ ความสำคัญของการแข่งขันจะยิ่งสูงขึ้นกว่ารอบก่อนหน้า ตาราง match มีข้อมูลเกี่ยวกับรอบต่างๆ ที่การแข่งขันแต่ละนัดเกิดขึ้น

ในอีก 3 แบบฝึกหัดถัดไป คุณจะสร้างคิวรีหนึ่งคิวรีที่มีซับคิวรีอยู่ใน clause ของ SELECT, FROM, และ WHERE ค่าเฉลี่ยจำนวนประตูที่ทำได้จะเปลี่ยนไปหรือไม่ เมื่อความสำคัญของการแข่งขันเพิ่มขึ้นจากรอบหนึ่งไปอีกรอบหนึ่ง

คิวรีนี้ใช้ซับคิวรีเดิมซ้ำ เพื่อให้ได้ฝึกวางตำแหน่งในแต่ละแบบ การคัดลอกแต่ละครั้งจะอ่านตาราง match ใหม่ทุกครั้ง ดังนั้นในงานจริงของคุณ ควรคำนวณค่าเฉลี่ยโดยรวมเพียงครั้งเดียว ตามที่แสดงในบทที่ 4 ด้วยการใช้ window function

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

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

ดูคอร์ส

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

  • ดึงค่าเฉลี่ยจำนวนประตูรวมทั้งหมดด้วยซับคิวรีใน SELECT
  • คำนวณค่าเฉลี่ยของประตูรวมสำหรับแต่ละ stage ในคิวรีหลัก
  • กรองทั้งซับคิวรีและคิวรีหลัก ให้รวมเฉพาะข้อมูลจากฤดูกาล 2012/2013 เท่านั้น
  • GROUP คิวรีตามคอลัมน์ m.stage

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

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

SELECT 
	-- Select the stage and average goals for each stage
	m.stage,
    ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Select the average overall goals for the 2012/2013 season
    ROUND((SELECT ___(___ + away_goal) 
           FROM match 
           WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;
แก้ไขและรันโค้ด