■ EQUI JOIN
가장 많이 사용하는 조인 방법으로서 조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결하여 결과를 생성하는 조인 방법이다.
FROM 절에 조인할 두 테이블 명을 제시하고, WHERE 조건에 두 테이블에 공통된 컬럼을 조인 조건으로 제시한다.
조인 조건은 테이블 N개를 조인시 N - 1개의 조인 조건을 주어야 한다. 2개 테이블 조인시 조건 1개, 3개시 2개....
SELECT e.ENAME, d.DNAME
FROM EMP e, DEPT d
WHERE E.DEPTNO = D.DEPTNO;
- EQUI JOIN에다가 AND 연산을 추가 할 수 있다.
SELECT E.ENAME, D.DNAME
FROM EMP e, DEPT d
WHERE E.DEPTNO = D.DEPTNO;
AND e.ename='SCOTT';
■ NON-EQUI JOIN
NON-EQUI JOIN은 조인 조건에 특정 범위 내에 있는지를 조사하기ㅐ 위해서 WHERE 절에 조인 조건을 = 연산자 이외의 비교 연산자를 사욯한다.
SELECT e.ename, e.sal, s.grade
FROM EMP e, SALGRADE s
WHERE e.sal >= S.LOSAL AND e.sal <=S.HISAL;
- BETWEEN AND 사용시
SELECT e.ename, e.sal, s.grade
FROM EMP e, SALGRADE s
WHERE e.sal BETWEEN S.LOSAL AND s.hisal;
SELECT e.ename, D.DNAME, E.SAL, s.grade
FROM EMP e, SALGRADE s, DEPT d
WHERE e.deptno = D.DEPTNO
AND e.sal BETWEEN S.LOSAL AND s.hisal;
■ SELF JOIN
자신의 테이블만으로는 원하는 결과를 알아 낼 수 없으나 만일 자신과 같은 테이블이 두개 존재한다면 질의가 가능한 경우 마치 같은 테이블이 두개 인 것처럼 자기 자신 테이블과 조인하는 것을 SELF JOIN 이라고 한다. 이 경우 FROM 절에 같은 테이블 이름을 두 번 반복하게 되므로 반드시 테이블 별칭을 사용해야 한다.
SELECT e.ename || '의 매니저는 ' || m.ename || ' 입니다'
FROM EMP e, EMP m
WHERE e.mgr = m.empno;
■ OUTER JOIN
외부 조인은 조인 조건에 만족하지 못하였더라도 해당 행을 나타내고 싶을 때 사용한다. 컬럼 값이 NULL일 경우...
외부 조인은 "(+)" 연산자를 사용하여 NULL 값이기에 배제된 행을 결과에 포함시킬 수 있다.
SELECT e.ename || '의 매니저는 ' || m.ename || ' 입니다'
FROM EMP e, EMP m
WHERE e.mgr = m.empno(+);
KING의 매니저는 입니다. 라고 나타난다. NULL 값도 표시를 한다.
'DataBase > SQL' 카테고리의 다른 글
오라클 비밀번호를 잊어 버렸을 경우에 비번 바꾸는 방법. (0) | 2009.08.18 |
---|---|
SELECT, in-line view, index. (0) | 2009.08.17 |
DB에서 테이터 늘리는 방법 4가지 (0) | 2009.08.15 |
계정 만들기, 테이블 복사 해오기, 자가 복사를 통한 데이터 늘리기 실습. (0) | 2009.08.13 |
DB에 백만건 자료 쉽게 넣기.(INSERT, SELECT, JOIN을 이용한...) (2) | 2009.07.30 |
SQL(Structured Query Language) 이란? (0) | 2009.07.22 |