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 |