상세 컨텐츠

본문 제목

[오늘의 코드 106] [solvesql] 두 테이블 결합하기

코드 공부

by eun_00 2024. 8. 26. 19:08

본문

https://solvesql.com/problems/join/

[문제]

  • athletes 테이블에는 역대 올림픽 참가 선수의 이름이 들어 있습니다. events 테이블에는 종목과 경기 이름이 들어 있습니다. games 테이블에는 올림픽 개최 연도, 개최 도시와 시즌 정보가 기록되어 있습니다. records 테이블에는 역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보가 기록되어 있습니다. 이 테이블은 다른 테이블과 매핑할 수 있는 ID 정보도 가지고 있습니다. teams 테이블에는 국가 정보가 기록되어 있습니다.
  • 위 테이블 중 events 테이블과 records 테이블을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주세요.

[💡 정답]

SELECT DISTINCT records.athlete_id
FROM records
JOIN events
    ON records.event_id = events.id
WHERE 
    events.sport = 'Golf'
;
 

 ✔️ 알게된 것 

 

- 첫 시도에서 athlete_id 중복제거해주지 않아 틀렸다. DISTINCT로 중복제거 또는 그룹화하여 중복을 제거해주어야 건수가 맞다.

 

관련글 더보기