📑
WITH문
SubQuery를 여러 개 사용하는 경우 가독성이 떨어지고 재사용이 불가능하다는 단점이 있어 WITH문을 사용한다.
WITH문은 이름을 가진 SubQuery를 정의한 후 사용하는 구문이다. 메인 쿼리 위에 WITH AS 구문을 사용해 서브쿼리를 옮겨 놓는 것이다.
계층형 쿼리를 만들기 위해 반드시 필요하다.
WITH [ 별명1 ] [ (컬럼명1 [,컬럼명2]) ] AS (
SUB QUERY
)[, 별명2 AS ... ]
...
MAIN QUERY
...
- [ (컬럼명1 [,컬럼명2]) ] 은 생략할 수 있다.
- 먼저 생성된 SubQuery를 나중에 생성하는 Subquery에서 별명으로 사용할 수 있다.