equi join 으로 join 되지 않는 데이터를 출력할때 쓰인다.
on 절을 쓴다.
예제 65 이름, 직업,월급,부서위치 출력
(emp 에는 없고, dept 에는 존재하는 지역 boston 이출력 되어야한다. )
1. (오라클 outer join 문법 사용)
select e.ename, e.job, e.sal, d.loc
from emp e , dept d
where e.deptno (+) = d.deptno ;
-> emp 테이블에 데이터가 부족한 것이므로 where 절의 조인문법에
부족한 쪽인 e.deptno 쪽에 (+) outer join 을 건다.
2. (1999 ansi join rigth outer join 문법 사용)
select e.ename, e.job, e.sal, d.loc
from emp e right join dept d
on (e.deptno = d.deptno);
오라클의 Outer 조인은 덜 나오는 table 에 (+) 표시를 하여 전부 다 출력하도록 쿼리를 짜지만
1999 Ansi Join 문법은 다 나오게 할 쪽이 dept table 이기 때문에 From 절에서 emp 가 left 이고 dept 가 rigth 이기 때문에 right join 을 사용해 주는것이다.
문제 316 아래의 쿼리를 ansi 문법으로 작성하시오.
select d.loc, sum(e.sal)
from emp e, dept d
where e.deptno (+) = d.deptno
group by d.loc;
-> ansi 문법
select d.loc, sum(e.sal)
from emp e right join dept d
on (e.deptno = d.deptno)
group by d.loc;
'Oracle > SQL' 카테고리의 다른 글
SQL ANSI /ISO STANDARD JOIN - CROSS Join (0) | 2021.11.28 |
---|---|
SQL ANSI /ISO STANDARD JOIN - Full Outer Join / in line view 복습문제 (0) | 2021.11.28 |
SQL ANSI /ISO STANDARD JOIN - Natural Join (공통컬럼 알아서찾음) (0) | 2021.11.25 |
SQL ANSI /ISO STANDARD JOIN - ON 절 대신 USING 절 이용 (0) | 2021.11.25 |
SQL ANSI /ISO STANDARD JOIN - ON 절 이용 (0) | 2021.11.25 |