[solvesql] 두 테이블 결합하기
출처
문제
난이도: 쉬움, 주제: JOIN, 제출 횟수: 2672번, 정답 횟수: 769번, 정답률: 28.78%
역대 올림픽 정보 데이터셋은 역대 올림픽 경기와 관련된 데이터가 들어있는 테이블로 이루어져 있습니다.
athletes
테이블에는 역대 올림픽 참가 선수의 이름이 들어 있습니다. events
테이블에는 종목과 경기 이름이 들어 있습니다. games
테이블에는 올림픽 개최 연도, 개최 도시와 시즌 정보가 기록되어 있습니다. records
테이블에는 역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보가 기록되어 있습니다. 이 테이블은 다른 테이블과 매핑할 수 있는 ID 정보도 가지고 있습니다. teams
테이블에는 국가 정보가 기록되어 있습니다.
위 테이블 중 events
테이블과 records
테이블을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주세요.
풀이
records
테이블과events
테이블의 겹치는 id값을 inner join한다.- where 조건으로는 골프 종목에 참가한 선수의 id를 조회해야 하므로 events.sport = “Golf” 명시해준다.
- select에 명시된
records.athlete_id
기준으로 정렬 시켜준다.1 2 3 4
select records.athlete_id from events inner join records on events.id = records.event_id where events.sport = "Golf" group by records.athlete_id;