Allen's 데이터 맛집
SQL : CTE란? 본문
CTE(Common Table Expression)는 SQL에서 특정 작업을 수행한 결과를 일시적으로 저장하고, 그 결과를 나중에 다른 쿼리에서 사용할 수 있도록 하는 방법입니다. 이를테면, 여러 복잡한 단계로 이루어진 데이터 추출이나 변환을 한 번에 정리하고자 할 때 사용합니다.
간단한 비유로 설명하면, CTE는 마치 각 단계별로 요리를 준비할 때 임시로 필요한 재료들을 미리 정리해두는 것과 비슷합니다. 나중에 필요할 때마다 정리된 재료를 꺼내어 사용할 수 있습니다.
1. CTE 정의
요리를 준비할 때 필요한 재료를 정리하는 과정입니다. 이 때, 재료의 종류와 이름을 정해줍니다.
WITH Ingredients (IngredientID, IngredientName) AS (
SELECT ID, Name FROM Kitchen WHERE Category = 'Vegetable'
)
2. CTE 이후의 SQL 문
정리된 재료를 사용하여 요리를 만드는 과정입니다.
SELECT * FROM Ingredients WHERE IngredientName = 'Carrot';
이 예시에서, Ingredients는 야채 카테고리에 속하는 재료들을 정리한 것이고, 나중에 Ingredients를 사용하여 'Carrot'이라는 재료를 선택합니다.
CTE는 데이터를 단순화하고 코드를 읽기 쉽게 만드는 데 도움을 주며, 코드를 유지보수하기 쉽게 만들어줍니다.