-
[DB] 순환질의 (Recursive query)데이터베이스 2020. 12. 8. 21:54728x90
순환질의 (Recursive query)
회사에서 “사업기획부 산하의 모든 부서를 알아오라" 라는 요구사항이 있을 수 있음
보통의 DB에서는 자기 직속 상위(부모) 부서만을 갖고 있기에 순환질의를 통해 해결할 수 있음
일반적인 Tree 구조에서 Search 하는 문제를 생각하면 이해가 쉬움
courseID : 과목 아이디
prereqID : 위 과목을 듣기 위해 미리 들어야하는 선이수 과목 아이디
WITH RECURSIVE recursivePrereq(courseID, prereqID) AS (SELECT courseID, prereqID FROM prereq) UNION SELECT recursivePrereq.courseID, prereq.prereqID FROM recursivePrereq, prereq WHERE recursivePrereq.prereqID = prereq.courseID SELECT * FROM recursivePrereq;
'데이터베이스' 카테고리의 다른 글
[DB] ER 다이어그램 기본 정리 (0) 2020.12.15 [DB] DB 와 응용프로그램 (0) 2020.12.09 [DB] Msql 권한 (0) 2020.12.08 [DB] Mysql 트리거 (0) 2020.12.08 [DB] On Delete, On Update, Check, Assertion (0) 2020.12.06