SubQuery(하위쿼리)

: 하위쿼리의 결과값을 이용해서 주쿼리를 수행



-- 최불암과 동일한 부서 직원을 추출

select * from sawon 

where deptno = 10;


select deptno from sawon where saname='최불암';


--2개의 쿼리를 결합

select * from sawon 

where deptno=(select deptno from sawon where saname='최불암') ;


--장동건과 연봉이 동일한 직원 추출

select * from sawon 

where sapay = (select sapay from sawon where saname='장동건');



--이미자보다 연봉을 많이 받는 직원을 추출

select * from sawon 

where sapay > (select sapay from sawon where saname='이미자');


--주의) 하위쿼리의 결과가 여러개 발생시 => in연산자 사용

--최불암 ,이미자의 소속부서 직원을 추출

select * from sawon

where deptno in (select deptno from sawon where saname='최불암' or saname='이미자') ;

--where deptno in (10,20) ; <=해석


select * from sawon

where deptno = (select deptno from sawon where saname='최불암')

      or

      deptno = (select deptno from sawon where saname='이미자') ;

      

--고객테이블 

select * from gogek;

select length(goname) from gogek;


--마징가의 이름과 동일한 길이의 이름을 갖는 고객 추출

select * from gogek 

where length(goname)=(select length(goname) from gogek where goname='마징가');

      

select length(goname) from gogek where goname='마징가';

      

--류민과 거주지가 동일지역(광역시)의 고객 추출      

select * from gogek 

where substr(goaddr,1,2)=(select substr(goaddr,1,2) from gogek where goname='류민');


select substr(goaddr,1,2) from gogek where goname='류민'      

    

-- 몰리와 동일한 출생월을 갖는 고객을 추출

select * from gogek

where substr(gojumin,3,2) = 

                (select substr(gojumin,3,2) from gogek where goname='몰리');

      


'Programming > Oracle' 카테고리의 다른 글

오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28
[4일차-2] select_연산자_함수  (0) 2013.08.27
[3일차] 제약조건  (0) 2013.08.27
[2일차] 테이블생성 및 DML 기초  (0) 2013.08.27
[1일차] 계정생성  (0) 2013.08.27

+ Recent posts