개발/K-DigitalTraining 수강중

Oracle DB ( 서브쿼리 )

배타브 2023. 3. 22. 14:51
728x90
반응형
--  서브쿼리(sub query)
-- sql 문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 sql 문 내부에서 사용하는 select 문
-- select 문 안에 select 문

--select 조회할 열
--from 테이블명
--where 조건식(select 조회할 열 from 테이블 where 조건식)

--존스의 급여보다 높은 급여를 받는 사원 조회

select ename , sal
from emp
where sal <  (select sal from emp where ename = 'JONES');

--사원 이름이 ALLEN 인 사원의 추가수당 보다 많은 추가 수당을 받는 사원 조회
select  *
from emp
where comm > (select comm from emp where ename = 'ALLEN');

-- WARD 사원의 입사일보다 빨리 입사한 사원 조회
select *
from emp
where hiredate > (select hiredate from emp where ename = 'WARD');

--다중행 서브쿼리 : 서브쿼리 결과로 여러개의 행 반환
-- in , any(some)  , all , exists 연산자 허용 (단일행 서브쿼리에 쓰는 연산자 사용 불가 )

-- 각 부서별 최고 급여와 동일한 급여를 받는 사원정보 조회
--IN : 메인 쿼리 결과가 서브쿼리 결과 중 하나라도 일치하면 true ; 
select * 
from emp 
where sal in (select max(sal) from emp group by deptno);
728x90
반응형