2026_실제 시험장 따라하기
-1. 관리대상처리 쿼리 0/7
-쿼리 비교 X [관리대상처리] 쿼리 (UPDATE 거래처 INNER JOIN 구매내역 ON 거래처.거래처코드 = 구매내역.거래처코드 SET 거래처.비고 = "★ 관리대상" WHERE (((거래처.거래처코드) Not In (select 거래처코드 from 구매내역 where 구매일자 between #2023-4-15# and #2023-4-30#))); )이 정답(UPDATE 거래처 SET 거래처.비고 = "★ 관리대상" WHERE (((거래처.거래처코드) Not In (select 거래처코드 from 구매내역 where 구매일자 between #2023-4-15# and #2023-4-30#))); )과 다릅니다.
틀린 원인이 궁금합니다!
안녕하세요.
틀린 원인은 바깥쪽 UPDATE 쿼리에 구매내역 테이블을 불필요하게 JOIN한 것입니다.
작성한 쿼리:
UPDATE 거래처
INNER JOIN 구매내역
ON 거래처.거래처코드 = 구매내역.거래처코드
SET 거래처.비고 = "★ 관리대상"
WHERE 거래처.거래처코드 Not In
(
SELECT 거래처코드
FROM 구매내역
WHERE 구매일자 Between #2023-4-15# And #2023-4-30#
);정답은:
UPDATE 거래처
SET 거래처.비고 = "★ 관리대상"
WHERE 거래처.거래처코드 Not In
(
SELECT 거래처코드
FROM 구매내역
WHERE 구매일자 Between #2023-4-15# And #2023-4-30#
);입니다.
이 문제에서 구매내역은 하위 쿼리 안에서만 사용하면 됩니다. 바깥쪽에까지 JOIN하면, 구매내역이 전혀 없는 거래처는 INNER JOIN 단계에서 빠질 수 있어서 의미도 달라질 수 있습니다.
즉 핵심은:
거래처 → 업데이트 대상
구매내역 → Not In 하위 쿼리에서만 사용입니다.
즐거운 하루 되세요.
-
관리자2026-10-22 09:40:37
안녕하세요.
틀린 원인은 바깥쪽 UPDATE 쿼리에
구매내역테이블을 불필요하게 JOIN한 것입니다.작성한 쿼리:
UPDATE 거래처 INNER JOIN 구매내역 ON 거래처.거래처코드 = 구매내역.거래처코드 SET 거래처.비고 = "★ 관리대상" WHERE 거래처.거래처코드 Not In ( SELECT 거래처코드 FROM 구매내역 WHERE 구매일자 Between #2023-4-15# And #2023-4-30# );정답은:
UPDATE 거래처 SET 거래처.비고 = "★ 관리대상" WHERE 거래처.거래처코드 Not In ( SELECT 거래처코드 FROM 구매내역 WHERE 구매일자 Between #2023-4-15# And #2023-4-30# );입니다.
이 문제에서
구매내역은 하위 쿼리 안에서만 사용하면 됩니다. 바깥쪽에까지 JOIN하면, 구매내역이 전혀 없는 거래처는 INNER JOIN 단계에서 빠질 수 있어서 의미도 달라질 수 있습니다.즉 핵심은:
거래처 → 업데이트 대상 구매내역 → Not In 하위 쿼리에서만 사용입니다.
즐거운 하루 되세요.