본문 바로가기
반응형

SQL3

누적형 코드 데이터를 계층으로 조회 대중소 코드가 누적되어서 들어가 있는 코드 분류체계라면 connect by 를 통해서 계층형으로 조회하는 SQL은 아래와 같이 만들 수 있다,WITH TBL_DATA AS (SELECT 'L' AS DEP, '1' AS CD, '동물' AS CD_NM FROM DUALUNION SELECT 'M' AS DEP, '10' AS CD, '포유류' AS CD_NM FROM DUALUNION SELECT 'M' AS DEP, '11' AS CD, ' 어류' AS CD_NM FROM DUALUNION SELECT 'S' AS DEP, '1001' AS CD, '곰' AS CD_NM FROM DUALUNION SELECT 'S' AS DEP, '1101' AS CD, '고등어' AS CD_NM FROM DUALUN.. 2025. 4. 8.
최근 날짜를 가진 목록 조회하기 최근 날짜를 가진 목록을 조회하려면 MAX 날짜를 가져와야 한다.DATE1에 인덱스가 있다면 아래와 같이 하면 되지만 SELECT * FROM TABLE1WHERE (KEY1, DATE1) IN (SELECT KEY1, MAX(DATE1) FROM TABLE1 WHERE COND1 = :cond1 GROUP BY KEY1) 인덱스가 없으면 상당히 속도가 느리다.그럴때는 RANK 로 가져오는게 성능이 더 좋다. SELECT * FROM ( .. 2025. 3. 30.
연산시 NULL 값을 주의하자. 연산시 NULL 값을 주의하자. 더하기 연산은 모르겠다만.. 빼기 연산을 수행 하면 거지 같은 일이 발생한다. NULL - 2 => ?? 결과값이 어떻게 나올까나. 결과도 그냥 값이 없다. -2 가 박힐 거라고 생각하면 오산이다. 이럴때는 NVL 처리를 해서 0을 만들어 줘야 제대로 된 값이 나온다. 대게.. 두개의 테이블을 OUTER로 조인하면 이러한 상황이 발생하지 않을까나~ 이래저래 NULL은 귀찮은 녀석이다. 왠만하면 default 값을 넣어 주는게 좋지 않을까나~ Sample SQL ] SELECT AA + BB FROM (SELECT '' AS AA FROM DUAL) a , (SELECT '-2' AS BB FROM DUAL) b 2008. 11. 19.
반응형