เพิ่ม subquery ใน SELECT
ในแบบฝึกหัดก่อนหน้า คุณได้เพิ่ม subquery ใน FROM และเลือก stage ที่มีค่าเฉลี่ยจำนวนประตูต่อ stage สูงกว่าค่าเฉลี่ยโดยรวมของฤดูกาลแข่งขัน 2012/2013 ในขั้นตอนสุดท้ายนี้ จะมีการเพิ่ม subquery ใน SELECT เพื่อเปรียบเทียบค่าเฉลี่ยจำนวนประตูในแต่ละ stage กับค่าเฉลี่ยรวมทั้งหมด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- สร้าง subquery ใน
SELECTเพื่อคำนวณค่าเฉลี่ยจำนวนประตูรวมในฤดูกาล 2012/2013 และเก็บผลลัพธ์ไว้ในคอลัมน์ชื่อoverall_avg - สร้าง subquery ใน
FROMเพื่อคำนวณค่าเฉลี่ยจำนวนประตูรวมในแต่ละ stage ช่วงฤดูกาล 2012/2013 - กรองผลลัพธ์ของคิวรีหลักเฉพาะ stage ที่มีค่าเฉลี่ยจำนวนประตูรวมสูงกว่าค่าเฉลี่ยโดยรวมในปี 2012/2013
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Select the stage and average goals from s
___,
ROUND(___,2) AS avg_goal,
-- Select the overall average for 2012/2013
(___ ___(___ + away_goal) FROM ___ WHERE ___ = ___) AS overall_avg
FROM
-- Select the stage and average goals in 2012/2013 from match
(SELECT
___,
___(___ + away_goal) AS avg_goals
FROM ___
WHERE season = ___
GROUP BY stage) AS s
WHERE
-- Filter the main query using the subquery
s.avg_goals ___ (SELECT ___(___ + away_goal)
FROM match WHERE season = ___);