본문 바로가기
Big Data/Database

공통 테이블 표현식(CTE)

by Wikinist 2023. 7. 26.

CTE(공통 테이블 표현식, Common Table Expression)는 SQL 쿼리 내에서 임시적으로 사용되는 이름을 가진 결과 집합을 생성하기 위한 기술입니다. CTE는 SELECT, INSERT, UPDATE, DELETE 등의 SQL 문에서 사용할 수 있으며, 특히 복잡한 쿼리를 단순화하고 가독성을 높이는데 유용합니다.

CTE는 WITH 절을 사용하여 정의하며, 하나 이상의 CTE를 동시에 사용할 수 있습니다. CTE를 정의한 후, 이를 FROM 절이나 다른 CTE 내에서 일반 테이블처럼 참조하여 사용할 수 있습니다.

CTE를 사용하는 기본적인 형식은 다음과 같습니다.

WITH cte_name (column1, column2, ...) AS (
    -- CTE 정의 SQL
    SELECT column1, column2, ...
    FROM table_name
    WHERE condition
)
-- CTE를 참조하여 주 쿼리 작성
SELECT column1, column2, ...
FROM cte_name
WHERE condition;


여기서,
cte_name: CTE의 이름을 지정합니다.
(column1, column2, ...): 필요에 따라 CTE의 컬럼 이름을 지정할 수 있습니다. 이는 선택적인 부분입니다.
-- CTE 정의 SQL: CTE를 정의하는 SQL 쿼리를 입력합니다. 이 부분에 원하는 데이터를 추출하는 쿼리를 작성합니다.
SELECT column1, column2, ...: CTE를 참조하여 최종 결과를 얻기 위한 주 쿼리를 작성합니다. 이 부분은 CTE를 참조하여 결과를 필터링하거나 다른 연산을 수행하는 용도로 사용됩니다.

CTE를 사용하는 이점은 다음과 같습니다.

가독성과 재사용성: 복잡한 쿼리를 단순화하여 가독성을 높여주고, CTE를 재사용하여 코드 중복을 방지할 수 있습니다.
중첩과 계층적 쿼리: CTE를 사용하여 중첩된 쿼리를 개선하고 계층적인 쿼리를 더 쉽게 작성할 수 있습니다.
임시 데이터 생성: CTE를 통해 쿼리 내에서 필요한 임시 데이터를 생성하여 사용할 수 있습니다.
CTE를 활용하여 복잡한 쿼리를 단순화하고 유지보수성을 향상시킬 수 있으므로, SQL 쿼리 작성에 유용한 기능입니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > Database' 카테고리의 다른 글

Long format / Wide format  (0) 2023.07.26
DATA_ADD 함수  (0) 2023.07.26
서브쿼리를 이용한 뷰 생성 및 사용 예제  (0) 2023.07.26
GROUP BY와 ROLL UP  (0) 2023.07.26
NULL 처리 함수  (0) 2023.07.26