ABAP SQL JOIN 종류 정리
ABAP Open SQL에서 자주 쓰는 JOIN은 세 가지입니다. INNER JOIN은 양쪽 테이블에 모두 존재하는 행만, LEFT OUTER JOIN은 왼쪽 테이블 전체 + 오른쪽 매칭, FULL OUTER JOIN은 양쪽 전체 행을 결과에 포함합니다.
LEFT OUTER JOIN 기본 패턴
주문(VBAK)과 아이템(VBAP) 테이블을 조인할 때, 아이템 없는 주문도 포함하려면 LEFT OUTER JOIN을 씁니다.
SELECT v~vbeln, p~posnr, p~matnr
FROM vbak AS v
LEFT OUTER JOIN vbap AS p
ON v~vbeln = p~vbeln
INTO TABLE @DATA(lt_orders).
FULL OUTER JOIN 패턴
FULL OUTER JOIN은 양쪽 테이블 중 어느 한 쪽에만 존재하는 행도 모두 가져옵니다. 데이터 정합성 검사나 두 테이블 차이 분석에 유용합니다.
SELECT a~id, a~value AS val_a,
b~value AS val_b
FROM table_a AS a
FULL OUTER JOIN table_b AS b
ON a~id = b~id
INTO TABLE @DATA(lt_diff)
WHERE a~id IS NULL OR b~id IS NULL.
언제 무엇을 쓸까
INNER JOIN은 양쪽 모두 데이터가 있는 경우에만 결과가 필요할 때, LEFT OUTER JOIN은 기준 테이블 전체 + 옵션 조인, FULL OUTER JOIN은 두 테이블 간 불일치 행을 찾을 때 선택합니다. NULL 비교로 미매칭 행만 필터링하는 패턴이 실무에서 가장 흔합니다.
핵심 한 줄
데이터 불일치 검사엔 FULL OUTER JOIN + NULL 필터, 단순 1:N 조회엔 LEFT OUTER JOIN이 맞다.
댓글 0
아직 댓글이 없습니다.