시작하기무료로 시작하기

FROM 절 서브쿼리 심화

이전 연습문제에서 데이터베이스 내 총 10골 이상 기록된 경기를 가진 국가는 잉글랜드, 네덜란드, 독일, 스페인뿐이라는 것을 확인했습니다. 이번에는 해당 경기들에 대한 세부 정보, 즉 경기가 열린 날짜, 시즌, 그리고 홈 득점과 원정 득점의 수에 대해 알아보겠습니다.

이번 연습 문제에서는 메인 쿼리에서 선택된 모든 열에 테이블 별칭이 없다는 점을 알 수 있습니다. 이는 메인 쿼리서브쿼리 에서 데이터를 추출하고 있으며, 서브쿼리가 단일 테이블 로 취급되기 때문입니다.

이 연습은 강의의 일부입니다

SQL 데이터 조작

강의 보기

연습 안내

  • FROM 절 안의 서브쿼리를 완성하세요. country 테이블에서 국가 name을 선택하고, match 테이블에서 date, home_goal, away_goal, total_goals, 열을 선택합니다.
  • 서브쿼리에 홈 득점과 원정 득점을 합산하는 total_goals 열을 만드세요. 이 열은 메인 쿼리를 필터링하는 데 사용됩니다.
  • 메인 쿼리에서 country, date, home_goal, away_goal을 선택하세요.
  • 총 득점이 10골 이상인 경기만 남도록 메인 쿼리를 필터링하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

SELECT
	-- Select country, date, home, and away goals from the subquery
    ___,
    date,
    ___,
    away_goal
FROM 
	-- Select country name, date, home_goal, away_goal, and total goals in the subquery
	(SELECT ___ AS country, 
     	    m.date, 
     		___, 
     		m.away_goal,
           (___ + m.away_goal) AS total_goals
    FROM match AS m
    LEFT JOIN country AS c
    ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;
코드 편집 및 실행