시작하기무료로 시작하기

상관 서브쿼리 시작하기

상관 서브쿼리는 메인 쿼리의 하나 이상의 컬럼을 참조하는 서브쿼리예요. 메인 쿼리의 정보에 의존해 실행되므로, 단독으로는 실행할 수 없습니다.

상관 서브쿼리는 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.___);
코드 편집 및 실행