해결된 질문
작성
·
53
0
employee_id와 manager_id를 사용해서 셀프조인 하는 과정에서
자신의 상사를 모두 표시하고 싶다는 생각이 들었습니다.
SELECT
a.employee_id, a.name,
b.employee_id, b.name,
c.employee_id, c.name,
d.employee_id, d.name,
e.employee_id, e.name
FROM
employees a
left join employees b on a.manager_id = b.employee_id
left join employees c on b.manager_id = c.employee_id
left join employees d on c.manager_id = d.employee_id
left join employees e on d.manager_id = e.employee_id
이와같이 직원 코드가 있고 상사 코드가 있는 경우 자기로부터 가장 높은 상사까지 한 행에 다 출력하고 싶은 경우에는 어떤 방법이 최선인지 알고 싶습니다.
지금은 단순히 데이터 개수가 적기 때문에 몇번의 조인으로 해결되었지만 실무에서 데이터 개수가 많다고 할때 이와같이 구하려면 어떻게 구해야하는지 궁금합니다.
즉 위 코드처럼 여러번 조인을 쓰는게 아니라 원하는 결과를 얻을 때 까지 자동으로 반복시킬 방법이 있는지 궁금합니다.
답변 1
1