การตั้งค่า CTE ของทีมเหย้า
ตลอดคอร์สนี้ เราได้เรียนรู้การใช้ CASE statement, subquery, common table expression และ window function เพื่อจัดโครงสร้างข้อมูลให้เหมาะกับความต้องการ ในแบบฝึกหัดนี้ จะนำทุกแนวคิดเหล่านั้นมาใช้ร่วมกัน เพื่อสร้างรายการแมตช์ที่ Manchester United พ่ายแพ้ในฤดูกาล English Premier League ปี 2014/2015
ขั้นแรก ให้สร้างคิวรีแรกที่กรองเฉพาะแมตช์ที่ Manchester United เล่นในฐานะทีมเหย้า ซึ่งจะกลายเป็น common table expression ในแบบฝึกหัดถัดไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- สร้าง
CASEstatement เพื่อระบุว่าแต่ละแมตช์เป็นชนะ, แพ้ หรือเสมอ สำหรับ'Manchester United' - ใส่ตัวดำเนินการทางตรรกะที่เหมาะสมในแต่ละ
WHENclause ของCASEstatement (มากกว่า, น้อยกว่า, เท่ากับ) - JOIN ตารางโดยใช้
hometeam_idจากmatchและteam_api_idจากteam - กรอง คิวรีให้แสดงเฉพาะเกมในฤดูกาล
'2014/2015'ที่'Manchester United'เป็นทีมเหย้า
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
m.id,
t.team_long_name,
-- Identify matches as home/away wins or ties
___ ___ m.home_goal ___ ___ ___ 'MU Win'
___ m.home_goal ___ ___ ___ 'MU Loss'
___ 'Tie' ___ AS outcome
FROM ___ AS m
-- Left join team on the hometeam_ID and team_API_id
LEFT JOIN ___ AS t
ON ___ = t.team_api_id
WHERE
-- Filter for 2014/2015 and Manchester United as the home team
___ = ___
AND t.team_long_name = ___;