'WITH'는 SQL(Structured Query Language)에서 사용되는 구문으로, 임시 결과 집합을 정의할 때 사용된다. 주로 복잡한 쿼리의 가독성을 높이기 위해 사용되며, 서브쿼리를 명명하여 여러 번 사용하거나 메인 쿼리에서 쉽게 참조할 수 있도록 한다.
'WITH'절은 공통 테이블 표현식(CTE, Common Table Expression)이라고도 알려져 있으며, 'WITH'로 시작한 후 괄호로 묶인 SELECT 쿼리를 포함한다. CTE 내에서 정의된 결과 집합은 메인 쿼리에서 간편하게 사용할 수 있어 복잡한 쿼리를 보다 간략하고 명확하게 작성할 수 있게 도와준다.
CTE는 재귀적일 수 있어, 자기 자신을 참조하는 쿼리를 작성할 수 있는 기능도 제공한다. 이를 통해 계층적 데이터를 쉽게 처리할 수 있으며, 예를 들어 관리자-직원 구조와 같은 트리 구조를 쿼리하는 데 유용하다.
'WITH'절을 사용하는 기본 구문은 다음과 같다.
```
WITH CTE_NAME AS (
SELECT column1, column2
FROM table_name
WHERE condition
)
SELECT *
FROM CTE_NAME;
```
이와 같이 'WITH' 구문을 활용하면 복잡한 SQL 쿼리를 보다 명확하고 조직적으로 작성할 수 있으며, 코드의 재사용성과 유지 보수성을 높이는 데 기여한다.