CTE는 SELECT, INSERT, UPDATE, DELETE 또는 CREATE VIEW 문
하나의 실행 범위 내에서 정의되는 임시 결과 집합이라고 볼 수 있다.
사용방법 : WITH 테이블명 AS (SELECT ...)
-- CTE ?
select custId, sum(sales) as [판매금액]
from salesTbl
group by custId
order by sum(sales);
--위와 동일, 아이디별 금액 합산
: customber, total 이라는 변수를 생성. == custId, sum(sales)
with cte_sum(customer,total)
as
( select custId, sum(sales) as [판매금액]
from salesTbl
group by custId
)
select * from cte_sum
order by total;
select * from salesTbl;
--사용자들의 1회 방문시 최대 구매익 평균구하기
: max(sales)를 구해서 변수 maxBuy에 대입하고, avg로 나눔
with cte_max(customer, maxBuy)
as
( select custId, max(sales)
from salesTbl
group by custId
)
select avg(maxBuy) from cte_max;
--지역별 가장 큰 키
WITH AddrMaxHeight(Addr, MaxHeight)
AS
(
SELECT Addr, MAX(Height) AS MaxHeight FROM UserTable
GROUP BY Addr
)
--지역별 가장 큰키의 평균
WITH AddrMaxHeight(Addr, MaxHeight)
AS
(
SELECT Addr, MAX(Height) AS MaxHeight FROM UserTable
GROUP BY Addr
)
SELECT AVG(MaxHeight * 1.0) AS [각 지역별 최고 키들의 평균] FROM AddrMaxHeight
'Database > MSSQL work' 카테고리의 다른 글
NULL 값을 0으로 표시 (0) | 2020.11.10 |
---|---|
Rollup(), Grouping (0) | 2020.11.09 |
sp_help (0) | 2020.11.09 |
날짜, 기타 (0) | 2020.11.09 |
CAST(), CONVERT(), TRY_(), PARSE() (0) | 2020.11.09 |