이로

With 절 본문

컴퓨터/SQL

With 절

利路 2021. 9. 27. 21:18
반응형

 WITH 절은 동일한 검색 쿼리를 반복적으로 사용할 때, 재사용성을 높이고자 사용한다. WITH 절에 등록하게 되는 조회쿼리는 임시 테이블로 생성이 되어 반복적으로 사용되는것에 대한 쿼리를 구성할때 유용하다. 

 

WITH 절을 사용하는 대표적인 경우 중 하나는, 한 테이블 내에서 상, 하 계층구조가 있을 경우 사용된다.

 

사용 방법은 다음과 같다.

WITH "임시테이블의 별명" AS (
	반복적으로 사용하게되는 조회 쿼리
)
SELECT * FROM "임시테이블의 별명";

 

간단한 예제 (굳이 WITH 절을 사용할 필요는 없는 예제)

WITH PD AS (
    SELECT 
        P.PRODUCT_NM
        , P.PRODUCT_CD
        , P.PRODUCT_REGIST_DT
        , P.PRODUCT_REGISTER
        , C.PRODUCT_MAKE_CMP_NM
        , M.USER_NM
    FROM TB_PRODUCT P
    LEFT OUTER JOIN TB_CMP C
        ON P.PRODUCT_MAKE_CMP_CD = C.PRODUCT_MAKE_CMP_CD
    LEFT OUTER JOIN TB_MEMBER M
        ON P.PRODUCT_MAKE_REGISTER = M.USER_ID
)
SELECT         
    PD.PRODUCT_NM
    , PD.PRODUCT_CD
    , PD.PRODUCT_REGIST_DT
    , PD.PRODUCT_REGISTER
    , PD.PRODUCT_MAKE_CMP_NM
    , PD.USER_NM
FROM PD
WHERE
    PD.USER_NM LIKE '%#{searchKeyword}%'
ORDER BY PD.PRODUCT_REGIST_DT DESC;

 

WITH 절을 사용한 계층형 구조 조회 쿼리

https://javawork.tistory.com/entry/Mssql-%EC%98%A4%EB%9D%BC%ED%81%B4-%EA%B3%84%EC%B8%B5%ED%98%95-%ED%8A%B8%EB%A6%AC%EA%B5%AC%EC%A1%B0-%EC%BF%BC%EB%A6%AC-%EC%9E%AC%EA%B7%80%ED%98%B8%EC%B6%9C-START-WITH-CONNECT-BY-PRIOR

 

[Mssql] - 오라클 계층형 트리구조 쿼리 (재귀호출) - START WITH .. CONNECT BY PRIOR

MS-SQL 2005 부터 추가된 재귀쿼리를 설명 하고자 한다. 트리구조 쿼리에 사용하면 유용할 거 같아서 포스팅을 하게 되었다. with xxx(col 1,col 2...col n) as (  table  union  table ) select * from xxx o..

javawork.tistory.com

 

반응형
Comments