참치코더의 꿈 메모장

2021/08/03 Oracle - SQL_99 (ANSI) 표준 조인 본문

Oracle

2021/08/03 Oracle - SQL_99 (ANSI) 표준 조인

참치깡 2021. 8. 3. 19:11
728x90

ANSI 조인은 오라클 말고 다른 DBMS 제품에서도 사용할 수 있다.

 

FROM A NATURAL JOIN B

 

조인 대상이 되는 두 테이블에 이름과 자료형이 같은 열을 찾은 후 그 열을 기준으로 등가 조인을 

해주는 방식이다.

 

만약 공통 열을 가지고 있으면 공통열을 기준으로 자동으로 등가 조인이 되며 조인하고자 하는 

열을 SELECT절에 명시할 때 테이블 이름을 붙이면 안 되는 특성이 있다.

 

JOIN ~ USING

 

NATURAL JOIN이 자동으로 조인 기준 열을 지정하는 것과 달리 USING 키워드에 조인 기준으로 사용할 열을 

명시하여 사용한다.

 

FROM TABLE1 JOIN TABLE2 USING(조인에 사용한 기준열)

 

다른 조인 방식과 마찬가지로 조인된 결과 행을 추가로 제한할 때 WHERE절에 조건식을 추가하여 

함께 사용할 수 있다.

 

JOIN ~ ON

 

가장 많이 사용하는 JOIN ~ ON 키워드를 사용한 조인 방식에서는 기존 WHERE절에 있는 조인 조건식을 

ON 키워드 옆에 작성한다.

 

조인 기준 조건식은 ON에 명시하고 그 밖에 행을 걸러 내기 위해 WHERE 조건식을 따로 사용하는 방식이다.

 

FROM TABLE1 JOIN TABLE2 ON(조인 조건식)

 

OUTER JOIN

 

OUTER JOIN  키워드는 외부 조인에 사용한다.

다른 SQL-99 방식의 조인과 마찬가지로 WHERE 절이 아닌 FROM절에서 외부 조인을 선언한다.

 

왼쪽 외부 조인
(Left Outer Join)
기존 WHERE TABLE1.COL1= TABLE2.COL1(+)
SQL-99(ANSI) FROM TABLE1 LEFT OUTER JOIN TABLE2 ON(조인 조건식)
오른쪽 외부 조인
(Right Outer Join)
기존 WHERE TABLE1.COL1(+) = TABLE2.COL1
SQL-99(ANSI) FROM TABLE1 RIGHT OUTER JOIN TABLE2 ON(조인 조건식)
전체 외부 조인
(Full Outer Join)
기존 기본 문법은 없음 (UNION 집합 집합 연산자를 활용)
SQL-99(ANSI) FROM TABLE1 FULL OUTER JOIN TABLE2 ON(조인 조건식)

 

SQL-99  조인 방식에서 세 개 이상의 테이블을 조인할 때 

 

FROM TABLE1 JOIN TABLE2 ON (조건식)

JOIN TABLE3 ON (조건식)

 

위와 같이 FROM절에 두개 키워드를 조인한 바로 옆에 SQL-99 방식의 조인 내용을 추가로 작성하면 세 개 이상의 

테이블도 조인할 수 있다.

 

 

 

 

 

 

 

 

728x90
Comments