계산을 위한 SELECT 내 서브쿼리
SELECT 내 서브쿼리는 쿼리에서 계산된 컬럼을 만드는 데 유용해요. SELECT의 서브쿼리는 계산에 사용할 단일 숫자 값처럼 취급할 수 있어요. SELECT에서 쿼리를 작성할 때는, 메인 쿼리에 필터를 걸어도 서브쿼리에 자동으로 적용되지 않고, 그 반대도 마찬가지라는 점을 꼭 기억하세요.
이전 연습 문제에서는 2013/2014 시즌에서 각 리그의 평균 총 득점을 전체 평균 득점과 비교하는 컬럼을 만들었어요. 이번 연습 문제에서는 서브쿼리의 전체 평균에서 각 리그의 평균을 직접 빼는 방식으로 이 값들을 비교하는 컬럼을 추가할 거예요.
이 연습은 강의의 일부입니다
SQL에서의 데이터 조작
연습 안내
- 메인 쿼리에서 각 리그의 한 경기당 평균 득점을 선택하세요.
- 서브쿼리에서
'2013/2014'시즌의 전체 한 경기당 평균 득점을 선택하세요. - 각 리그에 대해 계산된 평균 득점에서 서브쿼리 값을 뺍니다.
- 메인 쿼리를
'2013/2014'시즌의 경기만 포함하도록 필터링하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
SELECT
-- Select the league name and average goals scored
___ AS league,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Subtract the overall average from the league average
ROUND(AVG(___ + m.away_goal) ___
(SELECT ___(___ + away_goal)
FROM match
WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;