SQL
[SQL] SQL WITH문
rokga
2023. 4. 20. 13:20
WITH 문
임시테이블 또는 가상의 테이블을 생성해 사용하는 것.
반복 또는 중복되는 쿼리들의 성능을 높이기 위해 WITH절을 이용해서 임시테이블을 만들어 사용할 수 있다.
가상의 테이블을 생성해 사용하는 것은 서브쿼리랑 같은 부분이지만 서브쿼리는 서로 참조할 수 없어서 필요시에는 같은 내용을 계속
반복해서 작성해야한다. 그리고 서브쿼리는 쿼리중간에 추가하는 부분이기 때문에 가독성 부분에서도 많이 떨어진다.
WITH 문 사용하는 방법
WITH (테이블명 = A)
AS (SELECT ~ FROM ~)
SELECT * from A
WITH (테이블명 = A)
AS (SELECT ~ FROM ~
UNION ALL
AS (SELECT ~ FROM ~
)
SELECT * from A
주로 예시나 문법을 보면 UNION ALL을 사용해서 많이 사용한다