UNION ALL
SELECT INSERT_DATE,
COUNT(*) CNT //AS 안써도 보이는 칼럼명 변경 가능
FROM(SELECT TO_CHAR(INSERT_DATE,'YYYYMMDD') INSERT_DATE,
ACCESS_IP
FROM FBC_ACCESS_DAT
WHERE INSERT_DATE > TO_DATE('20120514','YYYYMMDD')
AND JOIN_ACCESS_POINT_CD = '108_M_2012050900001'
GROUP BY TO_CHAR(INSERT_DATE,'YYYYMMDD'), ACCESS_IP
UNION ALL
SELECT TO_CHAR(INSERT_DATE,'YYYYMMDD') INSERT_DATE,
ACCESS_IP
FROM FBC_ACCESS_LOG
WHERE JOIN_ACCESS_POINT_CD = '108_M_2012050900001'
GROUP BY TO_CHAR(INSERT_DATE,'YYYYMMDD'), ACCESS_IP)
GROUP BY INSERT_DATE
ORDER BY COUNT(*)
첫번째 SELECT 문과 두번째 SELECT 문을 합쳐라
단, SELECT 조건이 같아야 한다
UNION
두 테이블의 결과를 합치되, 중복된 값을 제외
이렇게 중복을 제거하기 위해 불가피하게 'SORT'
따라서 자료가 많거나 Index가 되어 있지 않은 필드를 대상으로 하게 되면
쿼리 시간이 길어짐
오라클 SUBSTR, INSTR (0) | 2012.06.07 |
---|---|
UPDATE 문 (0) | 2012.06.04 |
GROUP BY & HAVING (0) | 2012.05.15 |
오라클 TRUNC (0) | 2012.05.08 |
오라클 DECODE (0) | 2012.05.08 |
댓글 영역