728x90
반응형
MSSQL 선입 선출 관련 쿼리를 작성하다 WITH문을 사용했었습니다. 임시 테이블 사용 시 간단하게 사용할 수 있어서 요즘 자주 사용하는 편입니다.
※ 단일, 다중 변수.. 공식적인 용어는 아닙니다. 다만 제가 구분하기 위해 붙여보았으니 오해 없으시기 바랍니다.
WITH 구문의 사용 방법은 간단합니다만, 이 또한 기록으로 남기기 위해 글을 작성합니다.
* WITH 구문 단일 변수 사용 예제
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
- 사용 방법
WITH 변수명1 AS (
-- 임시 테이블에 사용될 쿼리문 (원하는 쿼리문 작성)
SELECT 칼럼1, 칼럼2, 칼럼3, 칼럼4
FROM 테이블
)
SELECT 칼럼1, 칼럼2, 칼럼3, ....
FROM 변수명1
* 예제 결과
num | gubun | contents | userid |
1 | 단일 | with 구문 | 0001 |
2 | 단일 | 변수 | 0002 |
* WITH 구문 다중 변수 사용 예제
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
),
temp1 AS (
SELECT 1 AS num, '다중' AS gubun, '0001' AS userid, '이바니' AS usernm
UNION ALL
SELECT 2 AS num, '다중' AS gubun, '0002' AS userid, '이반이' AS usernm
)
SELECT a.num, a.gubun, a.contents, a.userid, b.usernm
FROM temp a
JOIN temp1 b ON a.num = b.num AND a.gubun = b.gubun
- 사용 방법
WITH 변수명1 AS (
-- 임시 테이블에 사용될 쿼리문 (원하는 쿼리문 작성)
SELECT 칼럼1, 칼럼2, 칼럼3, 칼럼4
FROM 테이블1
),
변수명2 AS (
SELECT 칼럼1, 칼럼2, 칼럼3, 칼럼4
FROM 테이블2
)
SELECT 칼럼1, 칼럼2, 칼럼3, ....
FROM 변수명1
JOIN 변수명2 .....
※ 변수명 선언 시 변수명1 다음에 ',' (콤마)로 구분하여 원하는 변수명 사용하면 됩니다.
* 예제 결과
num | gubun | contents | userid | usernm |
1 | 다중 | with 구문 | 0001 | 이바니 |
2 | 다중 | 변수 | 0002 | 이반이 |
이상입니다.
728x90
반응형
'컴퓨터 > MSSQL' 카테고리의 다른 글
두 테이블의 일치하지 않는 항목 조회(NOT IN, NOT EXIST) (0) | 2022.11.04 |
---|---|
MSSQL 서버 접속 시 액세스 거부 해결 방법 (0) | 2022.06.15 |
MSSQL 선입 선출 적용 방법(feat. WITH 구문) (0) | 2021.03.24 |
MSSQL 버전 확인 (쿼리문, 간단) (0) | 2021.02.24 |
MSSQL 날짜 형식 (Date Format) (0) | 2021.02.24 |