해결된 질문
작성
·
44
답변 1
0
레스님 안녕하세요!
트레이너가 보유한 포켓몬의 수를 알기 위해 id를 사용했어요. COUNT(pokemon_id)로 해도 동일한 결과가 나옥니 합니다.
그런데도 왜 id를 사용했냐면, trainer_pokemon 테이블이 "보유한" 포켓몬이기 때문이에요. pokemon 테이블은 포켓몬들의 메타 정보입니다. 그래서 pokemon_id를 COUNT하면 중복이 존재할거에요. 예를 들어 피카츄를 잡은 사람들이 많다면 피카츄 id인 25가 많이 있겠지요. 우리가 원하는 것은 "보유한" 포켓몬의 수기 때문에 trainer_pokemon을 사용했어요.
trainer_pokemon : 트레이너가 보유한 포켓몬을 알려주는 테이블 하나의 Row = 한 트레이너가 보유한 포켓몬의 수
정리하면
지금 문제에선 COUNT(pokemon_id)를 해도 동일한 결과가 나올 것
다만 pokemon_id엔 중복이 존재할 것(여러 포켓몬이 잡힐 수 있기 때문)
문제에서 원하는 것은 "포켓몬"이 아닌 "트레이너가 보유한 포켓몬"이기 때문에 이걸 나타내는 trainer_pokemon의 id를 선정했어요
궁금한 것이 있으면 또 남겨주셔요~!
아하.. 감사합니다!
덕분에 SQL 공부 잘 하고 있습니다. 좋은 강의 개설해 주셔서 감사합니다~