Outer join

국물빌런·2020년 3월 11일
0

책을 보다보니 LEFT OUTER JOIN ~~ ON ~~이라는 문법이 나왔다.
대충 눈치를 봐서는 왼쪽에 아우터조인을 건다 뭐 이런것 같은데 아우터조인은 오라클에서 (+)로만 써봐서 저게 뭔가 싶었다.
알고보니 오라클이 비 표준이고 저렇게 쓰는게 ANSI표준이더라.
표준 안지키는놈들 그렇게 욕했는데 역시 기업이 짱짱커지니 그냥 자기가 표준이 되어버리는구나.
여튼 오라클도 9i부터 표준을 지원한다고 하니 조인할 때는 저렇게 하도록 하자

보통 3가지이다.
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN

오라클을 기준으로 어디에 (+)가 붙느냐로 설명하자면
LEFT같은 어미가 기준이 되는 테이블이다.
즉 A LEFT OUTER JOIN B ON A.id = B.id
라고 쓰면from A, B(+) where A.id = B.id
과 같다.
즉 LEFT가 붙었다면 위의 결과는 A는 모든 데이터가 나올것이고
A에만 있고 B에는 없는 데이터가 있으면 B데이터 부분에 null로 채울것이다.

추가로 OUTER JOIN이 있으면 그냥 JOIN도 있지 않을까 해서 찾아봤다. 역시나 있다.
LEFT OUTER JOIN, LEFT JOIN의 차이가 뭘까.
그냥 조인에 왜 LEFT가 있는가 찾아보니 그냥 완전히 동일한 SQL이다.
OUTER를 생략가능하다는게 이유다.
더 자세한건 링크를 참고바람.
근데 이정도면 충분할듯

http://www.gurubee.net/lecture/1021

profile
국물을 달라

0개의 댓글