SQL 문제

[solvesql_Level3] 멘토링 짝꿍 리스트

빙수빈수 2023. 10. 16. 10:02

https://solvesql.com/problems/mentor-mentee-list/

 

https://solvesql.com/problems/mentor-mentee-list/

 

solvesql.com

[코드]

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을 하면 멘토와 멘티 테이블로 구분할 수 있었다.