2011년 6월 1일 수요일

Subquery

Subquery
질의문 내에 독립적인 질의문 또는 연관된 질의문이 존재하는 것

Subquery의 종류
1. Nested Subquery
서브쿼리가 WHERE 절에서 메인 쿼리와 는 독립적으로 사용된 경우
예)
SELECT empno, ename
FROM emp
WHERE deptno = (SELECT deptno FROM dept WHERE dname='sales');

2. Inline View
질의문의 FROM 절에 뷰처럼 사용되는 별칭을 가진 서브쿼리

3. Scalar Subquery
SELECT 절 및 GROUP BY, HAVING, ORDER BY, WHERE 절에 사용되어 하나의 조건 집합 처럼 사용, 서브 쿼리의 결과 값을 마치 컬럼이나 함수처럼 사용하는 기능
예)
SELECT empno, ename, (SELECT dname FrOM dept WHERE deptno = A.deptno) danme
FROM emp A;

4. Correlated Subquery
서브쿼리가 WHERE 절에 사용되면서, 본 질의무과 서로 연관되어 수행된다면 Correlated Subquery
예)
SELECT empno, ename, sal, deptno
FROM emp e
WHERE SAL = (SELECT AVG(sal) FROM emp WHERE deptno = e.deptno);

5. Exists Subquery
단지 행의 존재 유,무만 확인하면 되는 경우. 주어진 조건을 만족하는 첫 번째 레코드를 만나면 스캔을 멈춤
예)
SELECT 1 INTO :CNT FROM DUAL
WHERE EXISTS
(SELECT 'x' FROM item_tab WHERE dep = '101');

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...