안녕하십니까?

초보 sqler 입니다.


다름이 아니라 상관서브쿼리 관련하여 이해가 가질 않아 질문드립니다.


BOM_KGJ(BOM 테이블)

PRNT_ITEM_CD(모품목)        CHILD_ITEM_CD (자품목)
A(제품)                                       B(반제품)
A(제품)                                       C(원자재)
B(반제품)                                   D(원자재)


위와 같은 테이블에서 아래와 같이 쿼리를 실행하면


SELECT *
FROM     BOM_KGJ A(NOLOCK)
WHERE  A.PRNT_ITEM_CD  NOT IN  (
                                                                        SELECT     B.PRNT_ITEM_CD
                                                                        FROM        BOM_KGJ B (NOLOCK)
                                                                        WHERE     A.PRNT_ITEM_CD = B.CHILD_ITEM_CD
                                                                   )

제 생각으로는 결과값이

PRNT_ITEM_CD(모품목)        CHILD_ITEM_CD (자품목)
A(제품)                                       B(반제품)
A(제품)                                       C(원자재)

이렇게 나와야 할것 같은데....


실제 결과값은 아래와 같이 나옵니다.

PRNT_ITEM_CD(모품목)        CHILD_ITEM_CD (자품목)
A(제품)                                       B(반제품)
A(제품)                                       C(원자재)
B(반제품)                                   D(원자재)


제가 무엇을 착각하고 있는지 답변좀 부탁드립니다.

감사합니다.