본문 바로가기
내가 공부하려고 올리는/DB

오라클 - 조인(JOIN) 정리해보기

by 결딴력 2021. 11. 16.
반응형

 

조인은 두 개 이상의 테이블을 서로 연결하고 데이터를 구성하는 방법을 말합니다.

조인에는 오라클 조인이라고 불리는, 오라클에서 사용 가능한 조인이 있고,

모든 DB에서 사용이 가능한 ANSI 조인이 있습니다.

 

조인을 하는 방법은 다음과 같습니다.

1. FROM 절에 조인할 테이블을 입력한다.

2. 조건절에 테이블을 연결할 조건을 입력한다.

 

조인에는 다양한 종류가 있는데 종류와 함께 간단한 예제를 확인해보겠습니다.

 

1. CARTESIAN PRODUCT

  • 카타시안 곱이라고 불린다.
  • 조건절에 조인을 위한 조건을 기술하지 않고 사용하는 조인이다.
  • 조건절을 적지 않아 해당 테이블에 대한 모든 데이터를 가져온다.
  • ANSI 조인에서는 CROSS 조인이라고 부른다.
    cf) ANSI 조인은 다른 DBMS에서 통용되는 JOIN 방법을 의미한다.
  • 예제

TEMP 테이블의 ROW 수
TCOM 테이블의 ROW 수
TCOM, TEMP의 카티션 프로덕트 결과

 

2. EQUI 조인

  • 조인하려는 테이블에서 두 테이블에서 공통된 데이터를 갖는 칼럼을 연결
  • WHERE 절에 공통된 데이터의 컬럼명을 기술
  • ANSI 조인에서는 INNER 조인이라고 부르고 연결하고자 하는 테이블을
    FROM절에서 콤마(,) 대신 INNER JOIN을 입력하여 사용한다.
  • 예제

TEMP, TDEPT 테이블 EQUI JOIN 결과

 

3. NON EQUI 조인

  • NON EQUI JOIN은 테이블 간 공통된 값을 갖는 컬럼은 없지만
    일정 범위의 조건을 만족할 때 비교 연산자를 이용한 조인 방법
  • 예제
    : TEMP와 EMP_LEVEL 테이블을 이용해 EMP_LEVEL에서 직급이 과장인 사람이 연봉 상한과 하한 사이에
      연봉을 받는 직원의 성명, 직급, 연봉을 TEMP 테이블에서 가져와라.

NON EQUI JOIN 예제

 

4. SELF 조인

  • 한 개의 테이블을 한 개 이상의 테이블처럼 사용하는 조인
  • 예제
    : EMP 테이블에서는 MGR컬럼으로 해당 사원에 관리자 사원의 사번을 제공한다.
      SELF 조인을 사용해 EMP 테이블에서 사원과 관리자 사원을 함께 출력해보자

SELF 조인 예제

 

5. OUTER 조인

  • 두 개 이상의 테이블을 조인하는데 사용
  • 조인하려는 한 쪽 테이블에 다른 쪽 테이블에 일치하는 값이 없어도
    다른 쪽 테이블의 행을 NULL로 하여 행을 리턴하는 조인
  • NULL 열이 작성되어야 하는 쪽에 연산자(+)를 입력하여 작성
  • 예제
    : EQUI 조인과 OUTER 조인의 차이점을 비교해보자

EQUI 조인
OUTER 조인

  • EQUI 조인은 양쪽 테이블에 값이 모두 존재하는 경우만 출력된다.
  • OUTER 조인은 한쪽 테이블에는 값이 있고 다른쪽 테이블에 값이 없는 경우 모두를 출력한다.

 

반응형

댓글