일반
MSSQL - WITH 구문(임시테이블 만들기)
알 수 없는 사용자
2022. 3. 14. 16:21
SMALL
쉽게 생각해서
임시테이블 생성쿼리라고 단일한 개념으로 정의됨
상황에 따라 복잡한 쿼리 또는 상황에 맞는 결과물을 뽑기 위해 with문을 쓴다
=> 통계나 순위, 계산에 유용
어느 회원의 한달 데이터를 조회할 경우가 생겼는데 이 회원은 한 달 동안 매일 데이터가 저장된 것은 아니었고
데이터 조회 시에는 한 달의 모든 일자의 데이터를 가져와야 했다.
(EX. 데이터는 1일, 2일, 3일 5일, 16일 19일 들어왔다)
때문에 달력처럼 한달의 일자를 생성하는 임시 테이블을 생성하고자 WITH구문을 사용하게 되었다.
사용방법
WITH '임시테이블명' AS
(생성할 쿼리
)
WITH temp AS (
SELECT 1 AS num, '단일' AS gubun, 'with 구문' AS contents, '0001' AS userid
UNION ALL
SELECT 2 AS num, '단일' AS gubun, '변수' AS contents, '0002' AS userid
)
SELECT num, gubun, contents, userid
FROM temp
LIST