HomeBlogGuestbookLab 

JDM's Blog

온갖 테스트 결과가 기록되는 이곳은 JDM's Blog입니다. :3

오라클 Inner Join 구문 비교 (Implicit vs Explicit)

이번 포스팅에서 던져볼 화두는, Inner Join에 대해서입니다. 오라클을 이용하면서 자주 보거나 쓰고 있던 Inner Join에도 종류가 있었다는 사실입니다.

이 포스팅에 대한 내용은 Explicit vs Implicit SQL joins이란 글을 보고나서 작성했습니다.

Implicit Inner Join SQL

select *
from TBL1 A, TBL2 B
where A.id = B.id
and A.id = 'Min'

일반적으로 사용했던제가 말이죠…. 암시적 조인 표현 방법입니다. A테이블과 B테이블의 id 컬럼 사용해 조인을 하는 방식입니다. 무엇보다 프로토 타이핑이 빠르기 때문에 애용을 했었습니다.

그러나 암시적 조인 표현 방법은 1992년에 폐기 되었습니다. 다만 DBMS들이 아직 지원을 하고 있는 상태라서 문법 자체는 사용 가능합니다. 자세한 사항은 Wikipedia - Join을 참조 바랍니다.

Explicit Inner Join SQL

다음은 명시적 조인 표현 방법입니다.

select *
from TBL1 A join TBL2 B 
on ( A.id = B.id )
where A.id = 'Min'

위에 있는 SQL 문법은 ON JOIN 방식입니다. on 절엔 조인에 관련된 구문을 삽입하고 where 절엔 조건에 대한 구문을 삽입하면 됩니다. {!이러한 방식의 장점은 조인join 구문과 조건where 구문에 대한 식별이 용이하다는 점}이죠. 물론 조인 구문에도 조건을 걸 수 있습니다.

select *
from TBL1 A join TBL2 B 
on ( A.id = B.id and A.grade > 90 )
where A.id = 'Min'

위처럼도 사용이 가능합니다. 많은 응용 방법이 있어요. 명시적 조인 표현 문법을 이용하면 추후에 조인 구문 누락으로 생길수 있는 문제도 미연에 방지할 수 있을 것 같습니다.

Closing Remarks

추후에 다양한 조인 방법에 대해서도 포스팅을 해야겠어요. 공부도 할겸 말이죠. :)