https://solvesql.com/problems/mentor-mentee-list/
[코드]
select
a.employee_id as mentee_id,
a.name as mentee_name,
b.employee_id as mentor_id,
b.name as mentor_name
from employees as a
left outer join employees as b
on a.employee_id != b.employee_id
where a.join_date > '2021-09-31'
and b.join_date < '2020-01-01'
and a.department != b.department
order by mentee_id, mentor_id;
[고찰]
이번 문제는 테이블이 하나밖에 없어서 join 문제일 거라고는 생각도 못했다. 혼자 해결할 수 없어 다른 사람의 코드를 참고했더니 셀프조인 문제여서 당황했다. 멘티와 멘토의 정보가 한 테이블에 같이 있기 때문에 employee_id가 다르게 self join을 하면 멘토와 멘티 테이블로 구분할 수 있었다.
'SQL 문제' 카테고리의 다른 글
[HackerRank] Weather Observation Station 18 (0) | 2023.10.16 |
---|---|
[HackerRank] Contest Leaderboard (0) | 2023.10.16 |
[solvesql_Level3] 작품이 없는 작가 찾기 (0) | 2023.10.14 |
[solvesql_Level3] 지역별 주문의 특징 (0) | 2023.10.14 |
[solvesql_Level3] 쇼핑몰의 일일 매출액과 ARPPU (0) | 2023.10.13 |