FROM 내 서브쿼리 확장하기
이전 연습 문제에서, 전체 득점이 10골 이상인 경기가 데이터베이스에 있는 국가는 England, Netherlands, Germany, Spain뿐이라는 것을 찾았어요. 이제 그 경기들에 대해 더 자세히 알아보겠습니다. 언제 열렸는지, 어떤 시즌이었는지, 그리고 홈/원정 골이 각각 몇 골이었는지 살펴봐요.
이번 연습 문제에서는 메인 쿼리에서 선택한 모든 열에 테이블 별칭이 생략되어 있다는 점에 주목하세요. 이는 메인 쿼리가 서브쿼리에서 데이터를 가져오며, 서브쿼리가 하나의 단일 테이블로 취급되기 때문이에요.
이 연습은 강의의 일부입니다
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 ___ ___;