셀프조인 상사 출력
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
조인의 특징
0
42
2
76강 2분33초 내용 오류
0
56
2
기본편 오타 제보 드립니다.
0
56
2
드랍 테이블로 지운 ordes에 대해서 질문
0
55
1
문제 풀이 1번 질문
0
54
1
간단한 오타 제보입니다.
0
88
1
ON을 명시하지 않았을 경우 질문드립니다.
0
114
1
강의 2:53 union을썼는데도 션이 중복
0
100
1
where 대신 having을 써도 되나요?
1
133
1
주문 내역에 대한 고객 데이터
0
110
2
in 수행
0
77
1
외부조인1 강의 관련 질문
0
120
3
커버링 인덱스와 랜덤i/o 질문
0
109
1
오타인거죠?
0
112
1
섹션 3 퀴즈 3번 문제
0
124
2
GROUP BY 기준 컬럼
0
108
1
질문이 있습니다
0
82
1
오타
0
111
2
실제 상용 서비스 질문
0
122
1
파티셔닝 관련 질문입니다.
0
86
1
join 문제 풀이2 문제1(self join) 질문
0
95
1
9. 인덱스2.pdf 중에서
0
105
1
문제 2번
0
101
2
문제와 풀이1 - 3번 문제
0
109
2





