관리 메뉴

Life goes slowly...

[Mysql] 테이블 구조 - 계층형Query 본문

프로그래밍/MySQL

[Mysql] 테이블 구조 - 계층형Query

빨강소 2020. 9. 24. 23:15
728x90
반응형

Mysql을 사용하는 대부분의 사용자들은 Sql 데이터베이스에서 테이블 별로 계층적 데이터를 처리하지만 Mysql의 하나의 테이블에서 계층적 데이터 관리는 관계형 DataBase의 의도와는 다르며, 하나의 테이블에서 자연스럽게 부모와 자식과의 관계를 가져서 그에 따른 계층적 데이터를 관리하게 됩니다.

이와 같은 조직도의 구조 테이블을 단순히 부모와 자식 간의 형태로 조회하게 되면 많은 소요 시간의 필요로 하게 됩니다.

 

현재 테이블의 웹개발자1의 전체 경로를 조회하기 위해서는 테이블 자체 조인을 해야 합니다.

SELECT
 T1.Value AS gropValue1
,T2.Value AS gropValue2
,T3.Value AS gropValue3
,T4.Value AS gropValue4
,T5.Value AS gropValue5
FROM
T_GROUP AS T1
LEFT JOIN T_GROUP AS T2 ON T2.Parent_ID = T1.Parent_ID 
LEFT JOIN T_GROUP AS T3 ON T3.Parent_ID = T2.Parent_ID
LEFT JOIN T_GROUP AS T4 ON T4.Parent_ID = T3.Parent_ID
LEFT JOIN T_GROUP AS T5 ON T5.Parent_ID = T4.Parent_ID
WHERE T1.Value = 'CEO' AND T4.Value = '웹개발자1'

모든 계층에서 하나의 자체 조인이 필요합니다.

728x90
반응형
Comments