Oracle/Oracle Programming

[Oracle] NON-EQUI JOIN

사악미소 2012. 11. 28. 21:57
반응형

■ NON-EQUI JOIN

 -. NON-EQUI JOIN은 조인 조건에 특정 범위 내에 있는지를 조사하기 위해서 WHERE 절에 조인 조건을 = 연산자 이외의 비교 연산자를 사용

 

① 등급 테이블(salgrade)의 구조

SQL> SELECT *

         FROM salgrade;

구조)

 -. 급여의 등급은 총 5등급으로 나누어져 있다.

 -. 1등급은 급여가 700부터 1200사이,

2등급은 급여가 1201부터 1400 사이,

3등급은 급여가 1401부터 2000 사이,

4등급은 급여가 2001부터 3000 사이,

5등급은 급여가 3001부터 9999 사이


② salgrade 테이블에서 정보를 얻어와 각 사원의 급여 등급을 살펴보는 예제

SQL> SELECT e.ename, e.sal, s.grade

      FROM emp e, salgrade s

     WHERE e.sal >= s.losal AND e.sal <= s.hisal;


③ 사원이 몇 등급인지 살펴보기 위한 예제

SQL> SELECT e.ename, e.sal, s.grade

FROM emp e, salgrade s

WHERE e.sal BETWEEN s.losal AND s.hisal;

풀이)

특정 범위 내에 있는지 조사하기 위해서 BETWEEN AND 연산자를 사용


④ 이름, 부서명 급여등급을 출력하기 위해서 3개의 테이블을 조인

SQL> SELECT e.ename, d.dname, s.grade

         FROM emp e, dept d, salgrade s

         WHERE e.deptno = d.deptno

         AND e.sal BETWEEN s.losal AND s.hisal;




반응형