เพิ่ม Subquery ใน FROM
ในแบบฝึกหัดก่อนหน้า คุณได้สร้างชุดข้อมูลที่แสดงค่าเฉลี่ยประตูเจ้าบ้านและประตูทีมเยือนในแต่ละรอบของฤดูกาล 2012/2013
ขั้นตอนต่อไปนี้ คุณจะแปลงคิวรีหลักเป็น subquery เพื่อดึงรายการรอบที่มีค่าเฉลี่ยประตูรวมสูงกว่าค่าเฉลี่ย โดยรวม ของประตูรวมทั้งหมดในแต่ละแมตช์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- คำนวณค่าเฉลี่ยประตูรวมจากตาราง match สำหรับแต่ละรอบใน subquery ของ
FROM - เพิ่ม subquery ในส่วน
WHEREเพื่อคำนวณค่าเฉลี่ยประตูรวมโดยรวม - กรอง คิวรีหลักให้เหลือเฉพาะรอบที่มีค่าเฉลี่ยประตูรวม สูงกว่า ค่าเฉลี่ยโดยรวม
- เลือกคอลัมน์
stageและavg_goalsจาก subquerysเข้าสู่คิวรีหลัก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Select the stage and average goals from the subquery
___,
ROUND(___,2) AS avg_goals
FROM
-- Select the stage and average goals in 2012/2013
(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 = ___);