참치코더의 꿈 메모장

2021/07/30 Oracle - 조인(등가조인, 자체조인, 외부조인) 본문

Oracle

2021/07/30 Oracle - 조인(등가조인, 자체조인, 외부조인)

참치깡 2021. 7. 30. 20:11
728x90

* FROM 절에는 여러 개 테이블을 지정하는 것이 가능하다.

* 꼭 테이블이 아니더라도 테이블 형태, 즉 열과 행으로 구성된 데이터 집합이면 모두 FROM절에

  지정 가능하다.

 

조인 조건이 없을 때의 문제점 

 

SELECT  *

 FROM EMP, DEPT

ORDER BY EMPNO;

 

EMP와 DEPT에 있는 값들의 모든 행들의 경우의 수가 나오게 된다.

 

테이블의 별칭 설정 

FROM절에 지정한 테이블에는 SELECT절의 열에 사용한 것처럼 별칭을 지정할 수 있다.

*테이블의 별칭을 지정할 때는 명시한 테이블 이름에서 한 칸 띄운 후에 지정한다.

 

등가조인

 

등가 조인은 테이블을  연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식이다.

등가 조인은 내부 조인 또는 단순 조인으로 부르기도 한다.

증가 조인은 일반적으로 가장 많이 사용되는 조인 방식이다. (=)

 

여러 테이블의 열 이름이 같을 때 유의점 

 

*등가 조인을 사용할 때 조인 조건이 되는 각 테이블의 열 이름이 같을 경우에

 해당 열 이름을 테이블 구분 없이 명시하면 오류가 발생하여 실행되지 못한다.

 

자체조인 

 

자체 조인은 하나의 테이블을 여러 개의 테이블처럼 활용하여 조인하는 방식으로,  물리적으로 동일한 테이블

여러 개를 사용할 때 발생할 수 있는 문제점을 해결한다.

 

자체 조인은 FROM절에 같은 테이블을 여러 번 명시하되 테이블의 별칭만 다르게 지정하는 방식으로 사용한다.

 

외부조인

 

두 테이블간 조인 수행에서 조인 기준 열의 어느 한쪽이 NULL이어도 강제로 출력하는 방식을 외부조인 

이라고 한다.

 

외부 조인은 좌우를 따로 나누어 저장하는데 WHERE절에 조인 기준 열 중 한쪽에 (+) 기호를 붙여 준다.

 

왼쪽 외부 조인 (Left Outer Join)

WHERE TABLE1.COL1 = TABLE2.COL1(+)

 

오른쪽 외부 조인(Right Outer Join)

WHERE TABLE1.COL1(+)= TABLE2.COL1

 

왼쪽 외부조인은 오른쪽 열의 데이터 존재 여부에 상관없이 출력 하라는 뜻이다.

 

오른쪽 외부조인은 오른쪽 열을 기준으로 왼쪽 열 데이터의 존재와 상관없이 데이터를 출력하라는 뜻이다.

 

* 왼쪽 외부 조인과 오른쪾 외부 조인은 이름과 (+) 기호의 위치를 반대로 작성한다.

* 외부 조인은 조인 기준 열의 NULL을 처리하는 것을 목적으로 자주 사용하는 조인 방식이다.

 

 

 

 

 

 

 

728x90
Comments