설명에 들어가기에 앞서 기본 JOIN문을 모르시는 분은 앞 문서부터 읽어보시길 바랍니다.
2023.01.30 - [Web Programming/DB] - [ORACLE] 조인 쿼리(join query), 조인 종류, 조인 쿼리 예시
LATERAL 조인을 사용하는 경우는 A, B, C 테이블이 있다고 가정해봅시다.
A가 드라이빙테이블(메인테이블)이라고 생각해봅시다.
A와 B는 PK값으로 조인이 잘 이루어 집니다. 그러나
A와 C는 조인을 할 PK값이 없다고 가정합니다. (B와 C는 조인이 가능합니다.)
SELECT A.NAME
, B.SCHOOL
, C.SCHOOL_MONEY
FROM NN A
, SC B
, LATERAL (
SELECT SCHOOL_MONEY
FROM SM
WHERE SCHOOL = B.SCHOOL
) (+) C
WHERE 1=1
AND A.NAME = B.NAME(+)
이런식으로 OUTER JOIN에 OUTER JOIN을 건 테이블을 걸 수 있습니다.
다른방식으로 사용해보겠습니다.
SELECT A.NAME
, B.SCHOOL
, C.SCHOOL_MONEY
FROM NN A
LEFT OUTER JOIN SC B
ON A.NAME = B.NAME
OUTER APPLY (
SELECT SCHOOL_MONEY
FROM SM
WHERE SCHOOL = B.SCHOOL
) C
이렇게 사용하실 수도 있습니다.
드라이빙 테이블에 JOIN을 해둔 테이블을 JOIN거는 방법이였습니다.
'Web Programming > DB' 카테고리의 다른 글
[ORACLE] MERGE 쿼리문(UPDATE문과 INSERT문 일괄 처리하기) (0) | 2023.03.28 |
---|---|
[ANSI SQL] JOIN 쿼리, 이해 쉬운 예제 (5) | 2023.02.16 |
[ORACLE] JSON 파싱(Parsing)하기 (조회하기) (0) | 2023.02.14 |
[ORACLE] 조인 쿼리(join query), 조인 종류, 조인 쿼리 예시 (2) | 2023.01.30 |
[Oracle] 오라클 계층구조(트리구조)로 조회하기 (level, start with...connect by prior, order siblings by) (1) | 2023.01.25 |