p.424 쿼리는 아래와 같습니다.

update
(select /*+ ordered use_hash(c) no_merge(t) */
         c.최종거래일시, c.최근거래횟수, c.최근거래금액
        , t.거래일시, t.거래횟수, t.거래금액
from   (select 고객번호, max(거래일시) 거래일시, count(*) 거래횟수, sum(거래금액) 거래금액
         from 거래
         where 거래일시 >= trunc(add_months(sysdate, -1))
         group by 고객번호) t
        , 고객 c
where c.고객번호 = t.고객번호
)
set 최조거래일시 = 거래일시
    ,최근거래횟수 = 거래횟수
    ,최근거래금액 = 거래금액

1쪽, M쪽을 구분해보면

고객 : 1쪽

거래 : M쪽

입니다.

위 쿼리는 고객테이블의 컬럼('최근XXXXX')을 업데이트하는 구문인데요.

1쪽을 업데이트하는 쿼리가 어떻게 가능한 것인지 궁금했으나

p.428에서 emp(M쪽)과 dept(1쪽) 에서

emp(M쪽)을 group by 하여 양 테이블 모두 1쪽으로 만들었습니다.

emp측 집합과 dept측 집합을 모두 키보존테이블 형태로 이용하기 때문에

dept(1쪽)을 수정하는것이 가능것으로 판단했고

이를 통해 위 쿼리에서 궁금했던 점이 해결됐습니다.