인프런 커뮤니티 질문&답변

[SQL 실전반 4기] 코차님의 프로필 이미지

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 고급 SQL

서브쿼리 리트코드 문제풀이

e.salary = dh.max_salary 이걸 왜 해야하나요? ㅠㅠ

22.05.16 22:26 작성

·

242

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
이해가 안되는 부분이 있어 질문드립니다!
왜 employee테이블의 salary와 dh의 max_salary를 같다고 하여 inner join을 하는지 이해가 안되네요 ㅠㅠ
 
왜 e.salary = dh.max_salary 이것도 inner join에 넣어야 하나요?ㅠㅠ

답변 1

0

송혜정님의 프로필 이미지
송혜정
지식공유자

2022. 05. 19. 17:25

안녕하세요, 답변 드립니다 :)

우선 dh 서브쿼리를 만든 이유는 각 부서별로 salary의 최댓값을 알기 위함인데요. 1) 각 부서별로 2) 최대 salary에 해당하는 3) 직원의 정보를 가져와야하기 때문에, department 와 max_salary를 기준으로 dh 와 employee 테이블과 JOIN 하였고, SELECT 절에서 그 직원의 name, salary 값을 가지고 왔습니다.

즉, dh 서브쿼리는 부서별 최대 salary를 알기 위해 사용하였고, 여기에서 알게 된 부서별 최대 salary를 다시 employee 테이블과 JOIN 하여 그 부서에서 해당 salary를 가진 직원의 정보를 가지고 오는 문제였습니다.