시작하기무료로 시작하기

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;
코드 편집 및 실행