경진의 블로그

OUTER JOIN 본문

자바개발과정/오라클(Oracle)

OUTER JOIN

aith 2008. 5. 27. 20:52
OUTER JOIN

두 개 이상의 테이블 조인 시 한쪽 테이블의 행에 대해 다른 쪽 테이블에 일치하는 행이 없더라도 다른 쪽 테이블의 행을 NULL로 하여 행을 RETURN하는 것이 OUTER JOIN이다.

조인을 했는데 한쪽은 값이 있고 다른쪽에는 값이 없으면 값이 있는 쪽을 기준으로 값을 본다.
하지만 값이 있는 한 쪽은 하나이어야 한다.
NULL 열이 작성되어야 하는 쪽에 기호가 붙는다.

동일한 쿼리에 OUTER JOIN 기호가 붙은 경우가 그렇지 않은 경우의 결과를 비교한다.

SELECT
       A.emp_id
      ,B.emp_id
  FROM temp A
      ,tcom B
 WHERE B.work_year = '2001'
   AND B.emp_id = A.emp_id

OUTER JOIN을 한 경우이다.

SELECT
       A.emp_id
      ,B.emp_id
  FROM temp A
      ,tcom B
 WHERE B.work_year(+) = '2001'
   AND B.emp_id(+) = A.emp_id

문제4
각 사번의 성명, 이름, SALARY, 연봉하한금액, 연봉상한금액을 보고자 한다.
TEMP와 EMP_LEVEL을 조인하여 결과를 보여주되, 연봉의 상하한이 등록되어 있지 않은 수습 사원은 성명, 이름, SALARY까지만이라도 나올 수 있도록 쿼리를 만든다.

SELECT
       B.emp_id 사번
      ,B.emp_name 성명
      ,B.salary 연봉
      ,A.from_sal 하한
      ,A.to_sal 상한
  FROM emp_level A
      ,temp B
 WHERE B.lev = A.lev(+)

'자바개발과정 > 오라클(Oracle)' 카테고리의 다른 글

ROWNUM  (0) 2008.05.27
SELF JOIN  (0) 2008.05.27
OUTER JOIN  (0) 2008.05.27
NON EQUI JOIN  (0) 2008.05.27
EQUI JOIN  (0) 2008.05.27
JOIN  (0) 2008.05.27
0 Comments
댓글쓰기 폼