[SQLP실기풀이]4장 조인튜닝(4)-고급조인기법 59번

Yu River·2022년 6월 26일
0

SQLP실기연습

목록 보기
31/44

문제 링크 : https://velog.io/@yooha9621/SQLP실기문제-선분이력59번
문제 출처 : SQLP 자격검정 핵심노트1 P.174

1) 쿼리 튜닝

1. 장비 테이블 액세스

  • 조회조건 중 장비구분코드 = 'A001'이 적용될 수 있도록 선두컬럼이 장비구분코드인 장비_X1 인덱스를 사용한다.
  • 드라이빙 테이블로 들어간다.

2. 상태변경이력 테이블 액세스

  • 조회 조건으로 '장비번호'를 선두로 하고 상태변경이력_PK 인덱스를 사용해 유효시작일자와 유효종료일자 사이에 SYSDATE가 있는 데이터를 찾아 NL조인한다.

2) 튜닝한 SQL문

SELECT P.장비번호 , P.장비명 , A.상태코드 AS 최종상태코드
, TO_CHAR(A.유효시작일시,'YYYYMMDD') AS 최종상태변경일자
FROM 장비 P , 상태변경이력 A
WHERE P.장비구분코드 = 'A001'
AND A.장비번호 = P.장비번호
AND P.유효시작일자 <= SYSDATE
AND P.유효종료일자 > SYSDATE
ORDER BY P.장비번호;

🍎 정리

  • 얘는 앞서 푼 문제처럼 변경일자, 변경 순번으로 비교하지 못한다.
  • 장비구분코드가 'A0001' 인 장비 데이터를 드라이빙 테이블로 놓고 장비번호로 상태변경이력 테이블과 조인하는데 조인하는 데이터의 유효시작일자와 유효종료일자 사이에 현재 날짜가 있는 데이터를 NL조인한다.
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글