상관 서브쿼리 시작하기
상관 서브쿼리는 메인 쿼리의 하나 이상의 컬럼을 참조하는 서브쿼리예요. 메인 쿼리의 정보에 의존해 실행되므로, 단독으로는 실행할 수 없습니다.
상관 서브쿼리는 SQL에서 조회된 각 행마다 한 번씩 평가됩니다. 이는 단순한 서브쿼리보다 훨씬 더 많은 연산 자원과 시간이 듭니다.
이번 연습 문제에서는 각 국가별 평균 점수의 3배를 넘는, 극단적인 아웃라이어 점수를 가진 경기들을 살펴보기 위해 상관 서브쿼리를 연습해 보겠습니다.
이 연습은 강의의 일부입니다
SQL에서의 데이터 조작
연습 안내
WHERE절의 서브쿼리에서 홈/원정 득점의 평균(mean)을 구하는 것부터 시작하세요.- 서브쿼리의 컬럼 참조를 완성해
main테이블과sub테이블의country_id가 서로 매칭되도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter the main query by the subquery
(home_goal + away_goal) >
(SELECT AVG((___ + sub.away_goal) * 3)
FROM match AS sub
-- Join the main query to the subquery with country_id in WHERE
WHERE main.___ = sub.___);