원정 팀 CTE 설정하기
잘하셨어요! 이제 경기에서 홈 팀을 식별하는 쿼리를 완성했으니, 비슷한 과정을 통해 원정(away) 팀도 식별해 보겠습니다. 이전 단계와 마찬가지로 match 테이블과 team 테이블을 조인할 거예요. 이 두 개의 쿼리는 다음 단계에서 공통 테이블 식(CTE, Common Table Expression)으로 선언됩니다.
이번 쿼리의 핵심 차이는 awayteam_id로 테이블을 조인하고, CASE 문에서 경기 결과의 판단을 반대로 적용한다는 점입니다.
실무에서 CASE 문 로직을 바꿀 때는 논리 조건(예: home_goal > away_goal)이나 THEN에 명시한 결과 중 하나만 뒤집으면 됩니다. 둘 다 뒤집지 않도록 주의하세요!
이 연습은 강의의 일부입니다
SQL에서의 데이터 조작
연습 안내
CASE문 구문을 완성하세요.- 각 경기가 Manchester United 기준으로 승, 패, 무승부인지 식별하도록 적절한 논리 연산자를 채우세요.
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 = ___;