WITH 절 CTE (Common Table Expression) 임시테이블?
- 기존의 뷰, 파생 테이블, 임시 테이블 등으로 사용되던것을 대신할수있다.
비재귀적, 재귀적 2가지 방식이 있는데,
비재귀적 방식만을 보겠습니다.
형식
WITH 테이블명(열이름)
AS
( 쿼리문.. )
SELECT 열이름 FROM 테이블명 ; (UPDATE 등도 가능하지만 주로 사용되는 건 SELECT)
Ex) 각 품목(goods)별 총판매액(total) 보고자 할때
WITH Purchase1(goods, total) AS
( SELECT goods, SUM(price * amount) FROM purchaseTbl GROUP BY goods )
SELECT * FROM Purchase1 ORDER BY total DESC; -- 가장 총판매액이 높은 순서대로 조회
위의 형식을 응용해서 2개 이상의 CTE테이블을 만들수 있습니다.
WITH
AAA (컬럼들) AS ( 쿼리1) ,
BBB (컬럼들) AS ( 쿼리2) ,
...
단, CTE의 WITH절이 나올경우
앞의 문장이후에 'GO'를 써주거나, 세미콜론(;) 으로 확실히 앞 문장과 분리해줘야 합니다.
SELECT * FROM purchaseTbl ;
GO
WITH Purchase1 ...
'프로그래밍&IT > SQL Server (MS-SQL)' 카테고리의 다른 글
WITH 절, 재귀 CTE (Common Table Expression) (0) | 2016.04.08 |
---|---|
SEQUENCE 개체 (identity같은 효과 및 오라클에서 지원하는 Sequence같은 기능 제공) (0) | 2016.04.03 |
[MS SQL SERVER 2012 학습] 스칼라 함수 (2) (0) | 2016.01.18 |
[MS-SQL] 스칼라 함수 (1) - 구성, 날짜, 시간, 수치연산 (2012버전) (0) | 2016.01.18 |
[MS SQL] 문자열 함수 (2008 R2 버전으로) (0) | 2014.11.08 |