[HDEPT] 테이블의 담당자(MANAGER_NM)를 변경하기 위해 [HDEPT_TMP] 테이블에 입력된 데이터를 활용하여 주기적으로 [HDEPT] 테이블을 실행 결과와 같이 반영하기 위한 SQL로 가장 적절한 것은? (단, [HDEPT_TMP] 테이블에서 MOD_DATE를 기준으로 가장 최근에 변경된 데이터를 HDEPT 테이블에 반영해야 한다.)
보기
선택지 1
UPDATE HDEPT A SET MANAGER_NM = (
SELECT C.MANAGER_NM
FROM (SELECT HCODE, MAX(MOD_DATE) AS MOD_DATE FROM HDEPT_TMP GROUP BY HCODE) B, HDEPT_TMP C
WHERE B.HCODE = C.HCODE AND B.MOD_DATE = C.MOD_DATE AND A.HCODE = C.HCODE
);
선택지 2
UPDATE HDEPT A SET MANAGER_NM = (
SELECT B.MANAGER_NM
FROM HDEPT_TMP B
WHERE B.HCODE = A.HCODE
AND B.MOD_DATE = (SELECT MAX(C.MOD_DATE) FROM HDEPT_TMP C WHERE C.HCODE = B.HCODE)
) WHERE HCODE IN (SELECT HCODE FROM HDEPT_TMP);
선택지 3
UPDATE HDEPT A SET MANAGER_NM = (
SELECT B.MANAGER_NM FROM HDEPT_TMP B WHERE B.HCODE = A.HCODE AND B.MOD_DATE = '2026.03.20'
);
선택지 4
UPDATE HDEPT A SET MANAGER_NM = (
SELECT B.MANAGER_NM FROM HDEPT_TMP B WHERE B.HCODE = A.HCODE
) WHERE EXISTS (SELECT 1 FROM HDEPT X WHERE A.HCODE = X.HCODE);