시작하기무료로 시작하기

계산을 위한 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;
코드 편집 및 실행