본문 바로가기
IT/Database

[Mysql] WITH 절 구문

by 성준하이 2024. 11. 2.
반응형

Mysql 에서 사용 가능한 WITH 절은 서브쿼리/가상테이블 을 미리 생성해두고, 언제든지 재사용이 가능한 공통 테이블 표현식(CTE, Common Table Expression) 을 정의하는 방법이다.

 

가독성도 높이고 재사용성도 높이기에 WITH 절은 많이 사용이 된다.

 

우선 아래와 같은 쿼리가 있다고 가정하면

SELECT
     SUM(MONEY)
FROM 
     (
          SELECT
               ID, MONEY
          FROM
               TABLE_NAME
          WHERE
               ID > 10
      ) AS A ;

 

위 쿼리를 WITH 절을 사용하면 아래와 같이 변경이 가능하다.

 

WITH SUB_TABLE AS
(
          SELECT
               ID, MONEY
          FROM
               TABLE_NAME
          WHERE
               ID > 10
)

SELECT
     SUM(MONEY)
FROM 
     SUB_TABLE;

 

이렇게 사용이 가능하다.

 

기본적인 문법은 아래와 같다.

WITH [cte_nameAS (
   SELECT [column_name(s)]
   FROM [table_name]
   WHERE [condition]
)
SELECT [column_name(s)]
FROM [table_name]
JOIN [cte_name] ON [join_condition]
WHERE [condition];

 

반응형

댓글