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을 사용해서 많이 사용한다