스칼라 서브쿼리를 활용한 필터링
서브쿼리는 복잡한 필터링과 데이터 변환에 매우 유용합니다. WHERE 절이나 조인만으로는 구현하기 어려운 조건도 서브쿼리를 사용하면 단일(스칼라) 값을 기준으로 데이터를 필터링할 수 있습니다. 또한 서브쿼리는 데이터 세트를 더욱 정교하게 조작하는 데도 활용될 수 있습니다. 관계형 데이터베이스를 사용하는 실무 환경이라면 서브쿼리를 자주 마주치게 될 것입니다.
이번 연습 문제에서는 2013/2014 시즌 전체 경기가 포함된 matches_2013_2014 테이블에서, (양 팀 합산) 총 득점 수가 경기 평균의 3배를 초과하는 경기 목록을 조회해 보도록 하겠습니다.
이 연습은 강의의 일부입니다
SQL 데이터 조작
연습 안내
- 서브쿼리를 작성하여 모든 경기에서 기록된 홈 + 원정 득점 평균의 3배를 계산하세요.
- 메인 쿼리에서 총 득점(홈 + 원정 득점)이 서브쿼리의 값을 초과하는 경기만 필터링하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
SELECT
date,
home_goal,
away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___
(SELECT ___ * AVG(___ + ___)
FROM ___);