티스토리 뷰
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');
'MODEL > ORACLE' 카테고리의 다른 글
[ORACLE] 계층 구조 질의(START WITH,CONNECT BY,PRIOR) (0) | 2017.11.16 |
---|---|
[ORACLE] 집합연산자(UNION, UNION ALL,INTERSECT,MINUS) (0) | 2017.11.16 |
[ORACLE] exists 연산자 (0) | 2017.11.16 |
[ORACLE] ROLLUP 과 CUBE (0) | 2017.11.15 |
[ORACLE] DECODE & CASE 함수 (0) | 2017.11.15 |