반응형
내부조인(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;
반응형
댓글