'다중행 서브쿼리'에 해당되는 글 1건

  1. 2017.01.12 다중행 서브쿼리

-- 다중행 서브쿼리

select * from emp where deptno=10 or deptno=20 or deptno=30;

select * from emp where deptno in(10,20,30);


-- 담당업무 최고 급여에 해당하는 사원은?

select job, max(sal) from emp group by job;

select ename from emp where sal in(select max(sal) from emp group by job);


-- 업무별 최대급여를 받는 사원의 사원번호, 이름을 출력하라

select empno, ename, job, sal from emp where (job, sal) in (select job, max(sal) from emp group by job);


-- 부서코드별 최고급여를 받는 사원은?

select * from emp where (deptno, sal) in (select deptno, max(sal) from emp group by deptno);


-- ANY : 서브쿼리 결과값 중 하나만 만족하면 값을 리턴

-- 업무가 SALESMAN인 사원의 최소급여보다 많으면서 부서번호가 20이 아닌 사원의 이름과 급여, 부서코드를 출력하라.

select ename, sal, deptno from emp where sal > (select min(sal) from emp where job='SALESMAN') and deptno!=20;

select ename, sal, deptno from emp where sal > any(select min(sal) from emp group by job) and deptno!=20;


-- ALL : 서브쿼리 결과값 중 모든 값이 만족해야 리턴

-- 부서별 평균을 구하여 평균보다 급여가 많ㅇ느 사원 선택

select * from emp where sal > all(select avg(sal) from emp group by deptno);

select * from emp where deptno!=20 and sal > all(select sal from emp where job='SALESMAN');


-- EXISTS : 값의 존재 유무

-- 사원을 관리하는 관리자만 선택

select * from emp e where exists(select empno from emp where mgr=e.empno);

'응용 SoftWare > Oracle' 카테고리의 다른 글

FROM 절에 서브쿼리  (0) 2017.01.12
다중열 서브쿼리  (0) 2017.01.12
SUBQUERY  (0) 2017.01.11
[내장 함수] COALESCE  (0) 2017.01.11
[내장 함수] NULLIF  (0) 2017.01.11
Posted by Hyun CHO
,