SQL Server에서의 계층형 및 재귀 쿼리
Jasmin Ludolf
Content Developer

공통 테이블 식(CTE)은 단일 문 실행 범위 내에서 정의되는, 단순 쿼리에서 파생된 임시 명명 결과 집합을 지정합니다.
WITH CTEtable as ( -- a query -- )SELECT * FROM CTEtable
SELECT, INSERT, UPDATE, DELETE에서 사용 가능WITH에 여러 CTE 정의 가능UNION 또는 JOIN으로 결합CTE로 관리자 선택:
WITH JOBS (id, SurName, JobTitle) AS( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%' ),
WITH ASEmployee 테이블에서 SELECT연봉 10,000 초과 직원 선택
SALARIES (ID,Salary) AS (
SELECT
ID,
Salary
FROM ITSalary
WHERE Salary > 10000)
전체 쿼리:
WITH JOBS (id, SurName, JobTitle) AS ( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%'),SALARIES (ID,Salary) AS ( SELECT ID, Salary FROM ITSalary WHERE Salary > 10000)SELECT JOBS.Name, JOBS.Position, SALARIES.Salary FROM JOBS INNER JOIN SALARIES on JOBS.ID = SALARIES.ID;
SurNmames | JobTitle | Salary
Paul Smith | IT Manager | 15,000
Adam Peterson | Sourcing Manager | 12,500
Anna Nilson | Portfolio Manager | 10,500
SQL Server에서의 계층형 및 재귀 쿼리