
SQL Server(MS-SQL) 에서 CTE란 Common Table Expression의 약자로, SQL에서 임시적인 결과 집합인 가상 테이블을 만들고 여기에 이름을 붙여 복잡한 쿼리를 더 간결하게 작성할 수 있도록 도와주는 기능입니다. MS-SQL CTE는 어떻게 사용할 수 있으며, 비슷한 개념인 SELECT INTO 임시테이블과는 어떤 차이점이 있는 걸까요?
CTE 문법 구조 WITH CTE이름 AS ( SELECT ... FROM ..
WHERE .. ) SELECT .. FROM CTE이름 CTE는 위와 같이 WITH 를 통해 "CTE이름"이라는 가상 테이블을 생성 후 쿼리문에서 사용할 수 있도록 해줍니다.
예시를 들어, [Students] 라는 학생 점수 정보가 담긴 데이터 테이블이 있을 때, CTE를 활용하여 평균 점수 이상인 학생들만 뽑아보도록 하겠습니다. WITH 평균점수 AS ( SELECT AVG(SCORE) AS AVG_SCORE FROM Students ) ...
원문링크 : CTE(WITH) 가상 테이블 개념과 사용방법, SELECT INTO (임시 테이블) 차이점 정리