본문 바로가기
개발/DB

[DB] WITH AS 문 사용하기

by 똘똘이박사 2021. 7. 28.

쿼리를 작성할때 과도한 서브 쿼리는

메인 쿼리의 더욱 복작하게 만든다.

 

이럴때 WITH AS 구문을 사용하면 그나마 복잡한 부분의 쿼리를 

분리해 낼 수 있을 뿐만 아니라

반복적으로 쓰이는 서브 쿼리라면 성능의 향상을 덤으로 얻을 수 있다.

 

방법은 간단하다.

메인 쿼리 위에 WITH AS 구문을 사용해 서브 쿼리를 옮겨 놓는 것이다.   

WITH 이름 AS (
	SELECT ...
    FROM ...
    WHERE ...
)
SELECT
	....
FROM 이름
WHERE
	....

 

서브쿼리가 여러개라 하더라도 걱정할 필요 없다.

각 서브쿼리를 , 로 구분하여 추가해 주면 된다.

WITH 이름1 AS (
	SELECT 문
), 
이름2 AS (
	SELECT 문
)
SELECT
	...
FROM 이름1
	LEFT OUTER JOIN 이름2
      ON ....
WHERE
	....

주의할 점음 WITH 키워드는 처음에 한 번만 쓰일뿐이란 것이다.

반응형

'개발 > DB' 카테고리의 다른 글

[DB] 한 컬럼에 여러개의 결과 표현하기  (0) 2021.07.28
DB2 에러 정리  (0) 2021.04.16