무회blog

오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING 본문

DB

오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING

최무회 2021. 7. 4. 12:10

오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING 

LEFT JOIN(LEFT OUTER JOIN) :

   1. 여기서  OUTER 생략 가능 , LEFT는 왼쪽이란 뜻임, 

   2. 테이블 A /행 700줄 , 테이블 B/ 800줄 , 여기서 LEFT JOIN을 A 기준으로 걸면 행 700 줄로 나오는 원리 

    문장: SELECT * FROM DEPT A LEFT JOIN EMP B ON B.DEPTNO = A.DEPTNO (여기서 A 테이블이 왼쪽에 있음) 

    주의사항: 만약 테이블 A 와 테이블 B 의 조인키 DEPTNO(예:ON B.DEPTNO = A.DEPTNO) 에서 B테이블에 해당하는 내용중 DEPTNO 가 중복되었다면 LEFT JOIN 을 걸엇다고 하여도 행수가 늘어날수 있음 , 이때 문제점을 확인 할려면 조인키에 걸린 DEPTNO 가 B테이블에서 왜 중복되었는지 확인 필요 (예: EMP B 테이블에서 여러 사원이 있는데 , 여러 사원은 사원 번호가 있고, 여러 사원 번호는 다르다(이는 사원번호 = 사원 이기때문에 ) , 하지만 사원번호가 다르더라도 부서번호 DEOPTNO 는 같을수 잇다, 이때 DEPTNO가 중복되는 이유는 여러 사원이 한 부서에 소속 되기 때문이다. 하여 DEPTNO가 중복되는 것이다. 이때 LEFT JOIN 을 상기내용처럼 걸면 LEFT JOIN 이 기존 원리보다 많은 행이 출력될수 있다. 

 

RIGHT JOIN: LEFT JOIN 의 반대라고 생각하면 된다. 

FULL OUTER JOIN : LEFT JOIN 과 RIGHT JOIN 을 합친거라고 생각하면 된다. 

INNER JOIN (교집합) : 왼쪽 테이블과 오른쪽 테이블의 공통적인 데이터만 추출 

NATURAL JOIN :  해당 내용도 INNER JOIN 이지만 2테이블간 서로 같은 컬럼을 자동으로 매칭시키는 INNER JOIN 임 . 중복 컬럼은 제거됨 

USING: 자동으로 INNER JOIN 할 컬럼을 지정( 2테이블에 공통 컬럼이 있을시 해당 명령으로 지정가능) 

 

추가설명:

차고로 JOIN 은 2 테이블끼리만 진행된다, 

테이블 3개 , A, B, C, 를 조인할때도 A 와 B 를 조인한 후 C테이블이랑 조인하는 방식 

 

 

부족한 내용이나 빠진내용은 댓글 바랍니다. 감사합니다. 

Comments