ตั้งค่า CTE สำหรับทีมเยือน
ทำได้ดีมาก! หลังจากที่สร้างคิวรีระบุทีมเหย้าในแมตช์แล้ว คราวนี้จะทำขั้นตอนคล้ายกันเพื่อระบุทีม เยือน เหมือนขั้นตอนก่อนหน้า คิวรีนี้จะ JOIN ตาราง match และ team โดยทั้งสองคิวรีนี้จะถูกประกาศเป็น Common Table Expression ในขั้นตอนถัดไป
ความแตกต่างหลักของคิวรีนี้คือการ JOIN ตารางด้วย awayteam_id และการกลับเงื่อนไขผลการแข่งขันในคำสั่ง CASE
เมื่อปรับตรรกะของคำสั่ง CASE ในงานของตัวเอง สามารถกลับได้ทั้งเงื่อนไขตรรกะ (เช่น home_goal > away_goal) หรือผลลัพธ์ใน THEN แต่ให้กลับเพียงอย่างใดอย่างหนึ่งเท่านั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- เติมไวยากรณ์คำสั่ง
CASEให้ครบถ้วน - กำหนดตัวดำเนินการเชิงตรรกะเพื่อระบุว่าแต่ละแมตช์เป็นการชนะ แพ้ หรือเสมอของ Manchester United
- JOIN ตารางด้วย
awayteam_idและteam_api_id
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
m.id,
t.team_long_name,
-- Identify matches as home/away wins or ties
___ ___ m.home_goal ___ ___ 'MU Loss'
___ m.home_goal ___ ___ 'MU Win'
___ 'Tie' ____ AS outcome
-- Join the match table's awayteam_id to the team table
FROM ___ AS m
LEFT JOIN ___ AS t
ON ___ = t.team_api_id
WHERE
-- Filter for 2014/2015 and Manchester United as the away team
___ = ___
AND t.team_long_name = ___;