본문 바로가기
반응형

프로그램이야기/oracle4

오라클 인덱스를 사용하지 못하는 경우 오라클 인덱스를 사용하지 못하는 경우에 대한 쿼리 예시입니다. 부정으로 비교하는 경우 : ‘!=’, ‘NOT IN’, ‘NOT LIKE’ SELECT empno, ename, job FROM emp WHERE empno != ‘1234’  ==> 해결방법 SELECT empno, ename, job FROM emp WHERE NOT EXIST ( SELECT ‘X’ FROM emp WHERE emono = ‘1234’ ) NULL 로 비교하는 경우 : ‘IS NOT NULL’ SELECT empno, ename, job FROM emp WHERE ename IS NOT NULL ==> 해결방법  SELECT empno, ename, job FROM emp WHERE ename > ‘’ ​ 인덱스 컬럼.. 2015. 12. 30.
ORACLE COUNT 절 GROUP BY 같이 이용하는 경우 ORACLE COUNT 절 GROUP BY 같이 이용하는 경우 오라클 GROUP BY 이용시 주의해야 됩니다. 아래와 같이 사용하면 결과가 제대로 나오지 않습니다. SSELECT B.심사자명 , COUNT (A.*) FROM T_회원신청 A, T_심사자 B WHERE B.주민번호 = A.심사자주민번호 AND B.신청일자시간 = TO_DATE (‘20020603’, ‘YYYYMMDD’) GROUP BY B.심사자명 ; 그래서 COUNT 절을 GROUP BY 처리 후에 JOIN으로 변경해서 처리해야 됩니다. SELECT B.심사자명, T.CNT FROM T_심사자 B , ( SELECT A.심사자주민번호, COUNT(*) FROM T_회원신청 A WHERE A.신청일자시간 = TO_DATE (‘2002060.. 2015. 12. 23.
오라클 equal 조회 검색 결과가 안나오는 경우 * 오라클 equal 조회시 자바 프로그램에서 사용하는 쿼리의 = 검색시 결과가 안나올때 그런데 toad 같은 sql 툴에서는 결과가 나오는 경우에는 컬럼 형식이 char 인지 확인해봐야합니다. 예를 들어서 char는 varchar2와 달라서 컬럼크기가 13이고 데이터 크기가 10이면 나머지 3자리에 공백을 채웁니다. 그래서 쿼리문에 컬럼에 trim을 쓰던지 rpad를 사용해서 공백을 없어던지 조회할 값에 공백을 채워서 조회를 하면된다. 그런데 종종 where 절 컬럼에 trim을 쓰면 쿼리가 늦어지는 경우가 있습니다. 사용할 쿼리를 미리 테스트한 후에 빠른쪽으로 맞춰서 사용하세요. 예) where trim(컬럼명) = 'test' 이럴땐 rpad를 쓰면 된다. rpad('비교할값이나 컬럼명',컬럼자리수.. 2015. 12. 17.
컬럼명으로 테이블 찾는 쿼리문 오라클에서 컬럼명으로 테이블 찾고자 할때 유용한 쿼리문입니다. SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE '컬럼명' 단순히 이렇게 조회하면 컬럼명이 들어있는 모든 테이블이 조회됩니다. 테이블이 많다면 조건식으로 좀 더 추가해서 검색 범위를 좁혀보세요. 도움이 되셨다면 공감을 눌러주세요 /^^ 2015. 8. 24.
반응형