본문으로 바로가기
728x90
반응형
 

오라클 SQL과 PL/SQL | 서진수 - 교보문고

오라클 SQL과 PL/SQL | SQL과 PL/SQL에 대한 가장 쉽고 친절한 입문서SQL과 PL/SQL에 대한 내용은 방대하며 어려운 내용들이 많기 때문에 처음 공부하는 학습자는 스스로 공부하기가 쉽지 않다. 이 책은

product.kyobobook.co.kr

 

연습문제 5  pg.260

 

professor 테이블에서 교수의 번호, 교수 이름, 입사일, 자신보다 입사일 빠른 사람 인원수를 출력하세요. 단 자신보다 입사일이 빠른 사람 수를 오름차순으로 출력하세요.(oracle join 구문과 ansi join 구문으로 각각 sql을 작성하세요

 

SQL

 

ORACLE JOIN

 

 


1
2
3
4
5
6
select p1.profno, p1.name, to_char(p1.hiredate, 'YYYY/MM/DD'"HIREDATE"
       count(p2.hiredate) "COUNT"
from professor p1, professor p2
where p1.hiredate>p2.hiredate(+)
group by p1.profno, p1.name, p1.hiredate
order by 4;
cs

 

1
2
3
4
5
6
select p1.profno, p1.name, to_char(p1.hiredate, 'YYYY/MM/DD'"HIREDATE"
       count(p2.hiredate) "COUNT"
from professor p1 left outer join professor p2
on p1.hiredate>p2.hiredate
group by p1.profno, p1.name, p1.hiredate
order by 4;
cs

 

실행 결과

 


연습문제 6  pg.261

 

emp 테이블에서 사원번호, 사원이름, 입사일, 자신보다 먼저 입사한 사람 인원수를 출력하세요. 단, 자신보다 입사일이 빠른 사람수를 오름차순으로 출력하세요(Oracle join 구문과 ansi join 구문으로 각각 sql을 작성하세요.

 

실행 결과

 

ORACLE JOIN
ANSI JOIN

반응형
1
2
3
4
5
select e1.empno, e1.ename, e1.hiredate, count(e2.hiredate) "COUNT"
from emp e1, emp e2
where e1.hiredate > e2.hiredate(+)
group by e1.empno, e1.ename, e1.hiredate
order by 4;
cs

 

1
2
3
4
5
select e1.empno, e1.ename, e1.hiredate, count(e2.hiredate) "COUNT"
from emp e1 left outer join emp e2
on e1.hiredate > e2.hiredate
group by e1.empno, e1.ename, e1.hiredate
order by 4;
cs

 

실행 결과

 


 

728x90
반응형