MSSQL에서 SELECT 문을 작성하는데 단순하게 하나의 테이블을 조회하는 형태가 아닌

 

각기 다른 테이블의 데이터를 조회하여 하나의 결과로 반환해야 하는 다소 복잡한 구조의 쿼리를 

 

만들어야 할 상황이 있을 수 있다.

 

이럴 때 'WITH' 절을 사용할 수 있는데, 쿼리를 각각 분리하고 재사용할 수 있도록 하여

 

쿼리의 가독성을 높여주고, 효율적으로 만들 수 있도록 도와줄 수 있는 기능으로

 

아래와 같이 예시 코드를 통해 특정 상황에서 이렇게 사용할 수 있다는 것을 참고하여 

 

만들고자 하는 쿼리에 응용하여 활용해 볼 수 있을 것 같다.

 

/*
직원 테이블과 급여 테이블을 각각의 조건으로 조회하여 임시 결과 집합을 선언하고
해당 결과를 조합하여 직원id, 이름, 나이, 급여를 하나의 결과로 반환하는 WITH를 활용한 예시
*/

WITH EmployeeCTE AS (
    SELECT Employee_Id, Name, Age
    FROM Employees
    WHERE Department = 'IT' -- IT 부서에 속한 직원
),
SalaryCTE AS (
    SELECT Employee_Id, Salary
    FROM Salaries
    WHERE Year = 2023 -- 2023년의 급여
)
SELECT e.Employee_Id, e.Name, e.Age, s.Salary
FROM EmployeeCTE e
JOIN SalaryCTE s ON e.Employee_Id = s.Employee_Id;

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기