Subquery ทุกประเภทครบในคิวรีเดียว
ในลีกฟุตบอล การแข่งขันจะแบ่งออกเป็น stage ต่างๆ ทีมที่ชนะจะผ่านเข้าสู่ stage ถัดไปเรื่อยๆ จนถึง stage สุดท้าย และยิ่ง stage สูงขึ้น ความกดดันก็ยิ่งมากขึ้นตามลำดับ ตาราง match มีข้อมูลเกี่ยวกับ stage ต่างๆ ที่แต่ละแมตช์เกิดขึ้น
ในบทเรียนนี้ คุณจะสร้างคิวรีสุดท้ายใน 3 แบบฝึกหัด โดยมี subquery ทั้งหมด 3 ตัว ได้แก่ หนึ่งตัวใน SELECT หนึ่งตัวใน FROM และหนึ่งตัวใน WHERE ในแบบฝึกหัดสุดท้าย คิวรีของคุณจะดึงข้อมูลเพื่อวิเคราะห์ค่าเฉลี่ยประตูที่ทำได้ในแต่ละ stage ของการแข่งขัน ค่าเฉลี่ยประตูจะเปลี่ยนแปลงไปอย่างไรเมื่อความกดดันเพิ่มสูงขึ้นในแต่ละ stage?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- ดึงค่าเฉลี่ยของประตูรวมทั้งหมดด้วย subquery ใน
SELECT - คำนวณค่าเฉลี่ยประตูรวมของ
stageที่ระบุในคิวรีหลัก - กรองทั้ง subquery และคิวรีหลักให้แสดงเฉพาะข้อมูลจากฤดูกาล 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 ___;