본문 바로가기

oracle

[SQLP] count(*), 그룹 함수 Query 결과 * 참고로 이건 그냥 내생각일 뿐, 참고하되 믿지는 말 것. 또, 틀렸으면 댓글좀 달아요. 보고 또봐도 햇갈리는 문제 count(*), group 함수 결과값. 자주 틀려서 정리한다. 결과 는 group by를 하느냐 마느냐에 따라 count(*) output이 있고 없고 한다. 1. 그냥 전체 집계 할 경우는 건수 없다고 0값을 출력함.SQL> select count(*) 2 from emp 3 where 1=2 4 ; COUNT(*)---------- 0 2. 그룹함수 계산만 했을때는 데이터가 하나도 없더라도 데이터가 안나오는 것이 아니라 null 값이라도 출력한다. SQL> select max(empno) 2 from emp 3 where 1=2 4 ; MAX(EMPNO)---------- 3. 그.. 더보기
[QUERY]CLOB 데이터를 안 짤리고 다 보기 CLOB 데이터를 VARCHAR2 형식으로 보기 CLOB 데이터는 툴로 조회해서 보면 데이터가 짤려서 나온다. 그래서 매우 불편한데, 이 사항을 해결할 수 있는 방법을 찾아냄!!! ORACLE이 기본적으로 제공하는 DBMS_LOB 패키지 함수를 사용하면 된다. 그중 SUBSTR함수를 사용하여 최초 몇바이트만 짤라서 다 뿌린다. 이런 의미의 함수로 보인다. 이게 전체 데이터를 보는 정확한 방법은 아닐 수 있겠지만, 쉽게 원하는 데이터를 바로 볼수 있다는 점에 매우 좋다고 생각한다. 참조 URL: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:367980988799 Surrinder -- Thanks for the question.. 더보기
[QUERY]PARTITIION ADD 파티션 있는 테이블 생성하기. 완전 짜증남. 그래서 짜본 쿼리 유용할지 ... 모르면 손이 고생. 2000년 ~ 2006년 데이터 : 년 파티션 2007년 ~ 2020년 데이터 : 월 파티션 파티션 명 : PT_YYYYMMDD -- ~ 2007 yearwith a as (select level L from dual connect by level< 7)SELECT 'ALTER TABLE '||TABLE_OWNER||'.'||TABLE_NAME||' ADD PARTITION PT_'||TO_CHAR(TO_NUMBER(SUBSTR(PARTITION_NAME,4,4))+L)||'0101 VALUES LESS THAN ('''||TO_CHAR(TO_NUMBER(SUBSTR(PARTITION_NAME,4,4))+L.. 더보기
[Oracle] 조인 수행 원리 1. NL Join (Nested Loops) 중첩 for 문 형태로 조인을 수행 for driving table { for the other one { join statement } } 작업 방법 1. 선행 테이블에서 주어진 조건을 만족하는 행을 찾음 2. 선행 테이블의 조인 키 값을 가지고 후행 테이블에서 조인 수행 3. 선행 테이블의 조건을 만족하는 모든 행에 대해 1번 작업 반복 수행 first_rows 에 적합한?? 조인이 셩공하면 바로 조인 결과를 보여 줄 수 있음. 2. Sort Merge Join 조인 컬럼을 기준으로 데이터를 정렬하여 조인을 수행 스캔 방식으로 데이터를 읽는다. 단점: 메모리 딸리면 성능 저하 (소트 작업) 대량 조인 성능 비교 - 해쉬조인>소트머지조인 장점: 동등 조건 .. 더보기
[Oracle] window function (analytic) (주관적인 입장에서) 잘 안쓰는 함수 정리 테스트 환경 oracle 11gr2 - scott/tiger 참조: sql 전문가 가이드 1. ratio_to_report 함수 해당 컬럼을 컬럼/sum(컬럼)으로 나타냄 SELECT ENAME, SAL, ROUND(RATIO_TO_REPORT(SAL) OVER(), 2) AS R_R FROM EMP WHERE JOB = 'SALESMAN'; 2. percent_rank 함수 처음과 끝을 0 과 1로 잡고 위치를 나타냄 SELECT DEPTNO, ENAME, SAL, PERCENT_RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) AS P_R FROM EMP; 3. cume_dist 함수 건수의 누적 백분율이란다. 마지.. 더보기