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;