[Oracle] Join(조인)

우니·2022년 11월 11일
0

회사에서는 DB를 두가지 쓴다(mariaDB, Oracle).
두가지 왔다갔다 하다보면 꽤나 헷갈리게 된다...
그래도 어쩔 수 없음..데이터가 2019년을 기점으로 나뉘어져 있다보니...
특히나 오라클 쿼리문이 익숙치 않아서 이 김에 조인과 관련하여 정리를 해보려 한다.

오라클에서는 조인을 할때

  • 오라클 조인(Oracle Join)
  • 안시 조인(ANSI JOIN)

두가지를 사용할 수 있다.

조인은 크게 5가지로 분류할 수 있다.
1. 조인 (INNER JOIN)
2. 아우터 조인 (LEFT OUTER JOIN)
3. 아우터 조인 (RIGHT OUTER JOIN)
4. 크로스 조인 (CROSS JOIN)
5. 풀 아우터 조인 (FULL OUTER JOIN)

일단 조인과 아우터 조인을 먼저 살펴보겠다.

조인 (INNER JOIN)

안시 조인


메인 테이블과 조인 테이블에 조인 칼럼(deptno)의 값이 동시에 존재해야 조회가 된다.
이를 오라클 조인으로 바꾸면 아래와 같다.

오라클 조인


오라클 조인은 조인 칼럼(deptno) 조건을 WHERE 절에 작성하면 된다.

아우터 조인

안시 조인


아우터 조인(OUTER JOIN)은 조인 테이블의 값이 존재하지 않아도 된다.
메인 테이블의 데이터가 조회되기에 조인 테이블의 값을 가져오지 못하면 NULL로 표시된다.

오라클 조인


조인 조건이 ON절에서 WHERE 절로 위치가 변경되었다.
또한 조인 칼럼에 (+)이 붙어있다(해당 칼럼의 테이블이 조인 테이블이 된다는 뜻)
메인 테이블의 데이터는 무조건 조회가 되고 조인 테이블은 참조 용도로만 사용된다.

+크로스 조인과 풀 아우터 조인은 다음 게시물에 정리하겠음.

참고 : https://gent.tistory.com/469

0개의 댓글