COPY_T 테이블이란 기준 테이블을 원하는 배수만큼 복제하여 결과 집합을 구할 때 사용하거나 데이터 체크에 사용된다.
1
2
3
4
5 |
CREATE TABLE COPY_T
AS
SELECT ROWNUM AS NUM , TO_CHAR(ROWNUM , '009') AS VAL
FROM USER_TABLES
WHERE ROWNUM < 101; |
cs |
COPY_T테이블을 이용하여 총인원수 합계를 구해보자
B.NUM <3 조건에 의하여 2개의 레코드만 추출되고 여기서 EMP2 테이블과 카디젼 조인이 되어 10*2 = 20으로 뻥튀기 된다.
NUM=2인 레코드만 합산해서 구한다.
1
2
3
4
5
6
7
8
9
10
11
12 |
SELECT
DECODE(NUM,1,DEPTNO,'합계') AS DEPTNO
, DECODE(NUM,1,NAME,'합계') AS NAME
, COUNT(DECODE(NUM,1,NAME,'합계')) AS TOTAL
FROM EMP2 A
, COPY_T B
WHERE A.EMP_TYPE = '정규직'
AND B.NUM < 3
GROUP BY DECODE(B.NUM,1,A.DEPTNO,'합계')
, DECODE(NUM,1,NAME,'합계')
ORDER BY DEPTNO; |
cs |
'DataBase' 카테고리의 다른 글
소계와 합계 구하는 방법 (1) (0) | 2015.12.17 |
---|---|
프로시져란 (PROCEDURE) ? (0) | 2015.12.16 |
누계를 구하는 방법에 대하여 (2) (0) | 2015.12.14 |
누계를 구하는 방법에 대하여 (1) (0) | 2015.12.10 |
SUBSTR 함수 (0) | 2015.12.09 |