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 ___ ___;