SQL 정리 ( WITH 문 )

서준영·2024년 7월 21일
0

SQL 정리

목록 보기
18/22

WITH 문

WITH 문이란?

SQL문을 작성하다 보면 Query를 반복해서 사용하는 경우가 발생합니다. 
한 두번의 반복은 괜찮지만, 그 수가 많아질수록 가독성이 떨어지고 재사용할 수 없으며
매번 동일한 Query를 작성하거나 수정해야 합니다.
WITH문을 통해 이럼 문제점을 해소합니다.

사용하는 이유?

복잡한 SQL에서 반복적으로 사용되는 서브쿼리의 블록을
하나의 WITH문 블록으로 만들어 재사용 할 수 있게 함으로써 쿼리 성능을 높일 수 있습니다.

사용방법

단일 WITH문

WITH test as
      (

           select 'WITH문' as str
           from dual
) 
SELECT 
FROM test

다중 WITH문

WITH test1 as (
                   select 'WITH 1' as str1 
                   from dual 
                    ), 
        test2 as ( 
                    select str1
                    from test1 
                     UNION ALL
                   select 'WITH 2' as str2 
                   from dual 
                  )
SELECT 
FROM test2

서브쿼리와 차이점

서브쿼리WITH
주 활용select문의 결과를 where절에서이름을 가진 서브쿼리를
하나의 변수처럼 사용하고 싶을 때 사용정의한 후 사용하는 구문
위치select, from, where독립적
장점코딩할 때는 편하다가독성이 높고, 재사용할 수 있다
단점가독성이 낮음, 쿼리가 복잡해짐튜닝시 적절하게 가공되지 않으면
메모리 로드가 많이 걸림
profile
시리즈나 태그목록으로 보시는게 좋습니다

0개의 댓글