티스토리 뷰

MODEL/ORACLE

[ORACLE] SUBQUERY 문

찰떡쿠키부스트 2017. 11. 16. 11:02

 

subquery

-안쪽 먼저 실행
-모르는 값에대해 조건을 줄때 (알려지지 않은 값을 알기 위해 사용)

(쿼리문 안에있는 쿼리 그래서 서브쿼리)


ex) allen과 같은 부서에 근무하는 직원 출력

select ename, deptno

from emp

where deptno = (select deptno

    from emp

    where ename='ALLEN');


-----> () 안에 있는게 서브쿼리



단일행 subquery

- subquery 수행 결과 한 개의 값을 리턴할때 쓴다

- 단일행 연산자만 사용 가능

복수행 subquery

- 한 개 이상의 값을 리턴받을때

- 단일행 연산자 말고 in같은거 씀(in,any,all,exists)


FROM 절의 subquery

- FROM절 뒤에 사용 ( in-line view 라고 부른다)


HAVING 절의 subquery

- having 절 뒤에도 사용 가능

 

 

Nonpairwise SUBQUERY

: WHERE 절에서 두 개 이상의 서로 다른 Subquery가 사용되어서

      결과 값을 주 쿼리로 넘겨 준다

EX)
SELECT DISTINCT ITEM
FROM TEST09
WHERE LINE IN (SELECT LINE FROM TEST10 WHERE IDATE = '19990203')
AND   SPEC IN (SELECT SPEC FROM TEST10 WHERE IDATE = '19990203');

 

 

Pairwise SUBQUERY

    : Subquery가 한 번 실행되면서 두 개 이상의 컬럼을 검색해서 주 쿼리로 넘겨 준다

EX)
SELECT DISTINCT ITEM
FROM TEST09
WHERE (LINE,SPEC) IN (SELECT LINE,SPEC FROM TEST10 WHERE IDATE = '19990203');

댓글