คำสั่ง CASE เบื้องต้น
ทีมโปรดของคุณคือทีมไหน?
European Soccer Database มีข้อมูลการแข่งขันกว่า 12,800 นัด จาก 11 ประเทศ ในช่วงปี 2011-2015! ตลอดคอร์สนี้ จะมีการแสดงข้อมูลเวอร์ชันที่กรองแล้วจากตารางต่าง ๆ ในฐานข้อมูลนี้ เพื่อให้สำรวจเนื้อหาได้ง่ายขึ้น
ในแบบฝึกหัดนี้ จะระบุการแข่งขันระหว่าง FC Schalke 04 และ FC Bayern Munich โดยในแต่ละแถวของข้อมูลจะมีทีม 2 ทีม ได้แก่ คอลัมน์ hometeam_id และ awayteam_id ซึ่งอยู่ในตาราง matches_germany ที่กรองไว้แล้ว ID เหล่านี้สามารถ join กับคอลัมน์ team_api_id ในตาราง teams_germany ได้ แต่ไม่สามารถ join ทั้งสองคอลัมน์พร้อมกันได้ในครั้งเดียว
อย่างไรก็ตาม สามารถทำได้โดยใช้คำสั่ง CASE หลังจากระบุ team_api_id ที่ตรงกับแต่ละทีมแล้ว!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- สร้างคำสั่ง
CASEเพื่อระบุว่าการแข่งขันในเยอรมนีแต่ละนัดมีทีมเหย้าเป็นFC Bayern Munich,FC Schalke 04หรือOther
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Identify the home team as Bayern Munich, Schalke 04, or Other
SELECT
___ ___ hometeam_id = 10189 ___ 'FC Schalke 04'
___ hometeam_id = 9823 ___ 'FC Bayern Munich'
ELSE 'Other' END AS home_team,
COUNT(id) AS total_matches
FROM matches_germany
GROUP BY home_team;