Oracleベースscottユーザー下empテーブルの練習(サブクエリ編)

5921 ワード

select * from emp;
--1.               、       
select ename,sal,hiredate
from emp
where empno=(select min(empno) from emp);
--2.   20                    ,     
select ename,sal,job
from emp
where (to_char(hiredate,'yyyy'),job)
in(select to_char(hiredate,'yyyy'),job from emp where deptno=20);
--3.               ,  ,       ;
select ename,job,sal,deptno 
from emp e
where exists(select '1' from emp where mgr=e.empno);
--4.          2000          。
select e.deptno,avg(sal)
from emp e,dept d
where e.deptno=d.deptno
group by e.deptno
having avg(sal)>2000;
--5.                  ,            
select e.ename,e.sal,m.ename,m.sal
from emp e,emp m
where e.mgr=m.empno
and e.sal>m.sal;
--6.                、          
select e.ename,e.sal,d.avgsal
from emp e,(select deptno,avg(sal) avgsal 
            from emp 
            group by deptno) d
where e.deptno=d.deptno
and e.sal<d.avgsal;