WITH 문은 하나 이상의 공통 테이블 표현식과 하나의 SELECT 문으로 이루어져 있습니다. 공통 테이블 표현식은 연속되는 SELECT 문의 FROM 절에서
테이블로 지정할 수 있는 이름 지정 결과 테이블을 정의합니다. IBM® DB2
Universal Database™를 사용하는 경우에만 이 옵션을 사용할 수 있습니다.
WITH 문은 새 SQL 문 작성 마법사에서 작성할 수 없고 SQL 빌더로만 작성할 수
있습니다.
공통 테이블 표현식
다음의 경우에 공통 테이블 표현식을 사용할 수 있습니다.
- 보기를 만들지 않기 위해서 보기 대신(보기를 사용할 필요가 없거나
지정한 갱신사항이나 삭제 내용이 사용되지 않을 때)
- 비결정적이거나 외부 동작이 있는 scalar subselect 또는 함수에서 파생된 열을 그룹화하려는 경우
- 결과 테이블이 호스트 변수를 기초로 할 때
- 같은 결과 테이블이 FULLSELECT 문에서 공유되어야 할 때
- 해당 결과가 재귀적 방식을 사용하여 파생되어야 할 때
WITH 문을 작성하려면 다음을 수행하십시오.
- 데이터 Perspective에서 데이터 정의 보기로 전환하십시오.
- 데이터베이스를 포함하는 프로젝트나 폴더를 펼친 다음 명령문 폴더가
표시될 때까지 데이터베이스 노드를 펼치십시오.
- 명령문 폴더를 마우스 오른쪽 단추로 클릭한 다음에
팝업 메뉴에서 을 클릭하십시오.
- 해당 명령문의 이름을 입력하고 확인을 클릭하십시오. SQL 빌더가 열립니다.
- 아웃라인 보기에서 WITH 문의 구조를 검토하십시오. SELECT 문은 WITH 문에 자동으로 추가됩니다. 이 명령문은
WITH 문 SELECT라고 합니다. 먼저 공통 테이블 표현식을 정의한 다음
공통 테이블 표현식에 정의된 테이블을 사용하여 WITH 문 SELECT를 완료해야 합니다.
- 공통 테이블 표현식을 추가하려면 아웃라인 보기에서 WITH 문을 마우스 오른쪽 단추로 클릭한 다음
팝업 메뉴에서 공통 테이블 표현식 추가를 클릭하십시오. 공통
테이블 표현식을 완료하기 위해 SELECT 문의 결과 세트를 기초로 한
임시 테이블과 열을 정의합니다. 정의하는 테이블은
단지 임시 테이블이기 때문에 데이터 정의 보기의 Tables 폴더에는
나타나지 않습니다. 임시 테이블이 공통 테이블 표현식에 정의되면,
해당 테이블을 WITH 문 SELECT에 추가할 수 있습니다.
- 아웃라인 보기에서 WITH 문 아래의 공통 테이블 표현식 노드를 클릭하십시오.
- 공통 테이블 표현식 노드를 펼치고 포함된 SELECT 문을 클릭하십시오.
- 공통 테이블 표현식에 대해 SELECT 문을 완료하십시오.
- 아웃라인 보기에서 공통 테이블 표현식을 클릭하고
열 이름을 지정하여 해당 표현식에 열을 추가한 다음 추가>>를 클릭하고
열 목록을 완료하십시오. 이름 지정 열은
공통 테이블 표현식 SELECT 문의 SELECT 절에 정의된 열과
일치해야 합니다.
- 필요한 경우, 같은 방식으로 공통 테이블 표현식을 더 추가하십시오.
- 아웃라인 보기에서 WITH 문 SELECT를 선택하십시오. 이름은
statementnameSELECT로 지정되며, 여기서 statementname은
WITH 문의 이름입니다. 이것은
전체적으로 WITH 문에 적용되고 WITH 문에 정의된 공통 테이블
표현식을 사용하는 SELECT 문입니다.
- WITH 문 SELECT를 완료하십시오.
- 완료되면 을
선택하여 SQL 문을 실행하십시오.
결과물은 DB 출력 보기에서 볼 수 있습니다.