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 |