본문 바로가기
DBMS/ORACLE

[ORACLE] 오라클_내부조인( INNER JOIN )

by 썸머워즈 2019. 2. 22.
반응형

내부조인(INNER JOIN)

  • 등가 조인의 한 종류이다.
  • 두 개의 테이블 혹은 두 개 이상의 테이블을 조인하는 건데, INNER JOIN을 붙여서 사용한다.
    (INNER는 생략이 가능하다.)
  • 조건절에는 WHERE 대신에 ON을 사용한다.

기본적인 사용법

SELECT d.deptname, e.ename
    FROM dept d INNER JOIN emp e 
    ON e.deptno = d.deptno;

여기서 INNER를 생각하면 당연히 다음과 같다.

SELECT d.deptname, e.ename
    FROM dept d JOIN emp e 
    ON e.deptno = d.deptno;

2개 이상의 테이블 조인

SELECT d.deptname, e.ename
    FROM dept d INNER JOIN emp e 
    ON e.deptno = d.deptno
        INNER JOIN oracleStudy o
        ON e.name = o.name

하나를 우선 조인하고 다른것을 다음에 조인을 해주는 식으로 사용한다.

USING 사용

  • ON대신에 USING이라는 것을 사용할 수 있다.
  • 부등호 대신에 하나로 묶어서 명시하는 방법이며, 자동으로 부등호로 비교하는 역할을 한다.
  • () 괄호 안에 서브쿼리 역시 사용 가능하다.
SELECT d.deptname, e.ename FROM dept d JOIN emp e USING (deptno);

위 쿼리문은 아래와 동일한 기능을 한다.

SELECT d.deptname, e.ename
    FROM dept d JOIN emp e 
    ON e.deptno = d.deptno;

추가적으로 WHERE절 역시 사용할 수 있는데, 두 컬럼의 비교용보다는 범위를 지정해주는 것에 사용하고는 한다.

(where 조건은 on로 걸러진 후의 결과물에 적용된다.)

SELECT d.deptname, e.ename
    FROM dept d JOIN emp e 
    ON e.deptno = d.deptno
    WHERE deptno > 10;

반응형


댓글

TOP