도담이 먹여 살려야하는 집사

JOIN 본문

카테고리 없음

JOIN

천재도담 2020. 9. 18. 18:19

하나 이상의 테이블로부터 자료를 검색하려고 할 때 사용. 

>> Primary Key 와 Foreign Key을 사용하여 Join하는 경우가 대부분( 논리적인 값들의 연관으로 하는 경우도 있음)

  • 모든 Table은 반드시 유일한 식별자(기본키 - Primary Key - PK)를 가짐.
  • 관계가 형성된 다른 Table에는 복사본 (외래키 - Foreign Key - FK)를 가짐.

Equi Join 

원테이블과 대응되는 테이블에 있는 컬럼의 데이터를 1:1 매핑 

값들이 정확하게 일치하는 경우에 사용하는 조인 

PK 와 FK 의 관계를 이용한 조인 

ANSI문법 : [inner] join on ~ 조건절 (from 절의 조건절이 join의 조건절로도 사용)

교집합

  • AND 연산자를 사용하여 검색조건을 추가 할 수 있음 (where절)
  • 2개이상의 테이블을 조인할 수 있음 

 

INNER JOIN (EquiJoin)

SELECT e.ename, e.empno, e.deptno, d.dname FROM emp e JOIN DEPT d ON e.DEPTNO = d.DEPTNO;
-- A >> emp e // B >> DEPT d // 교집합 부분 >> e.DEPTNO = d.DEPTN

--INNER JOIN에 where절을 쓴 경우
-- 사원이름과 그 사원이 속한 부서의 부서명, 그리고 월급을 출력하는데 월급이 3000이상인 사원을 출력하라.
SELECT e.ENAME, d.DNAME, e.SAL FROM EMP e JOIN DEPT d ON e.DEPTNO = d.DEPTNO WHERE e.SAL >= 3000;

OUTER JOIN

모든 행을 전부 출력하고자 할 경우 사용.

정상적으로 조인 조건을 만족하지 못하는 행을 보기 위함. 

OUTER JOIN을 포함하는 조건은 IN OR 연산자를 사용하여 다른 하나의 조건에 연결 할 수 없음. 

(+)는 OUTER JOIN의 기호 -> where 절 조건의 양쪽이 아니라 어느 한 쪽에 둘 수 있음. (즉, 양측 모두에 올 수 없음 )

 

OUTER JOIN

 

Comments