728x90

지난번 작성한 포스팅(하단 URL 참조)에서 조인의 두가지 방식이 왜 공존하는지 어떤 차이가 있는지에대해 명확히 설명을 하지 못했다. 이후 동료 개발자님의 조언으로 알게되었다. 그래서 추가로 공부해서 알게된 내용을 정리하겠다.

 

https://jfbta.tistory.com/115

 

Tibero ] Outer Join의 또 하나 (+) 의 의미

통계쪽 업무를 진행하다 Where 절에서 '컬럼명(+)' 이렇게 붙어있는 생소한 문법을 보았다. Outer Join과 비슷한 기능을 하는 것 같다. 정확히 (+)가 무엇을 의미하는 지 정리하겠다. 내가 알고있던 Oute

jfbta.tistory.com


ANSI(American National Standards Institute)는 '미국 국립 표준 협회'로 SQL 표준 문법을 지정하였는데 그것이 ANSI 쿼리 문법이다.[ex) LEFT OUTER JOIN ON] 보통 ANSI문법을 많이 쓰는 것 같다. 그러나 편의에 따라 DBMS에서 제공하는 쿼리 문법을 사용하는 경우가 있는데 이것이 바로 (+)조인 문법인 Oracle Join이다.

 

그렇다면 왜 Oracle에서는 별도의 조인문법을 개발한 것일까?

 

그것은 ANSI 조인을 좀 더 편리하게 쓰려고 개발한 것은 틀림없다.

 

게다가 Oracle Join은 ANSI에 비해 코드의 수가 줄어들기 때문에는 이 관점에서는 낫다고 볼 수 있다.

하지만 아래 유튜브 영상(11:32)을 보면 ANSI는 FROM절 과 WHERE절을 더 명확하게 구분하기 때문에 가독성이 좋고 통상적으로 어떤 데이터베이스에서도 ANSI를 사용하기 때문에 확장성도 좋다. 게다가 ANSI는 FULL OUTER JOIN이 가능하지만 Oracle은 불가능하다.

 

이런 관점에서 볼 때 과연 Oracle Join이 과연 편리할까?

 

관점에따라 편의성이 달라지므로 사용하는 몫은 개발자들에게 있다.

 

※ 포스팅을 하는데 참조한 자료


https://tragramming.tistory.com/74

 

[Join] ANSI Join & Oracle Join, Join의 종류

지난 Join의 정의 및 문법에 관한 포스팅에 이어 ANSI Join & Oracle Join, Join의 종류에 대해 이야기하고자 한다. ANSI Join vs ORACLE Join SQL은 데이터베이스를 관리하기 위해 만들어진 프로그래밍 언어이며,

tragramming.tistory.com


 

https://www.youtube.com/watch?v=LEEyBd4n_50 


 

 

728x90
TOP