🖥️ IT, 컴퓨터/🏁 SQL・빅쿼리

[SQL] CTE (Common Table Expression)란?

김 홍시 2024. 7. 4.
반응형

CTE는 Common Table Expression의 약자로, SQL 쿼리에서 일시적으로 이름이 지정된 결과 집합을 정의하는 방식입니다. CTE는 주로 복잡한 쿼리를 간결하고 읽기 쉽게 만들기 위해 사용됩니다. CTE는 WITH 키워드로 시작하며, 쿼리의 일부분을 재사용할 수 있도록 합니다.

CTE의 특징과 사용 예

  1. 임시 결과 집합:

    • CTE는 쿼리가 실행되는 동안만 존재하며, 결과를 임시로 저장합니다.
    • CTE는 주 쿼리에서 여러 번 참조할 수 있습니다.
  2. 가독성 향상:

    • 복잡한 쿼리를 작은 부분으로 나누어 가독성을 향상시킵니다.
    • 중첩된 서브쿼리보다 이해하기 쉽습니다.
  3. 재귀 쿼리:

    • CTE는 재귀적으로 사용할 수 있어, 트리 구조나 계층적 데이터를 처리하는 데 유용합니다.

CTE 예시

다음은 CTE를 사용하는 간단한 예시입니다.

WITH SalesCTE AS (
  SELECT
    SalesPersonID,
    SUM(SalesAmount) AS TotalSales
  FROM
    Sales
  GROUP BY
    SalesPersonID
)
SELECT
  SalesPersonID,
  TotalSales
FROM
  SalesCTE
WHERE
  TotalSales > 10000;

설명

  1. WITH SalesCTE AS (...):

    • SalesCTE라는 이름의 CTE를 정의합니다.
    • 이 CTE는 Sales 테이블에서 영업 사원별 총 판매 금액을 계산합니다.
  2. SELECT SalesPersonID, TotalSales FROM SalesCTE WHERE TotalSales > 10000;:

    • CTE에서 계산된 결과를 사용하여 총 판매 금액이 10,000을 초과하는 영업 사원의 ID와 총 판매 금액을 선택합니다.

CTE는 복잡한 쿼리를 구조화하고 가독성을 높이는 데 매우 유용한 도구입니다.

반응형

댓글