지난번 작성한 포스팅(하단 URL 참조)에서 조인의 두가지 방식이 왜 공존하는지 어떤 차이가 있는지에대해 명확히 설명을 하지 못했다. 이후 동료 개발자님의 조언으로 알게되었다. 그래서 추가로 공부해서 알게된 내용을 정리하겠다.
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
https://www.youtube.com/watch?v=LEEyBd4n_50
'DataBase > Oracle' 카테고리의 다른 글
시퀀스(Sequence) NEXTVAL 과 MAX+1의 사용방법 및 차이 (0) | 2021.12.01 |
---|---|
oracle, tibero ] WHERE IN 데이터 입력 순서대로 정렬하기 (0) | 2021.11.24 |
데이터활용 ] 시작 및 종료 날짜 데이터 중복체크 하는 방법 (0) | 2020.06.19 |