2013년 11월 26일 화요일

오라클 Scalar Subquery , ORACLE 스칼라 서브쿼리, 오라클 서브쿼리, 오라클교육서브쿼리교육

오라클 Scalar Subquery , ORACLE 스칼라 서브쿼리, 오라클 서브쿼리, 오라클교육서브쿼리교육

스칼라 서브쿼리는 하나의 행으로 부터 하나의 컬럼값만을 리턴하는 서브쿼리를
말하는데... 아래 예를 보시면 이해 될겁니다.

8i에서는 제한적으로 쓰였구 9i에서 확장되었습니다.

-8i에서 가능한 부분

SELECT의 from, where절
INSERT의 value절

-9i에서 사용가능한 구문

GROUP BY를 제외한 SELECT문장의 from, where,having절
UPDATE의 set, where절 연산자 좌측
DECODE, CASE의 조건 기술 부분
FUNCTION 내

- 사용 불가능한 구문

GROUP BY, CHECK 제약조건, WHEN 조건절
START WITH, CONNECT BY
DML의 retuning 문

예) EMP 테이블의 데이터를 dept 테이블에 있는 부서명에 따라  정렬

select empno, ename
from emp e
order by ( select dname
                  from dept d
                where d.deptno = d.deptno)


아래 처럼 SELECT 절에서도 가능 합니다.

select empno,
            deptno,
          (select dname
            from  dept d
            where d.deptno = e.deptno)
from  emp e

그러므로 스칼라 서브쿼리를 사용해 나온 결과값이 2개이상일 경우에는 에러 발생하겠죠!!

주로 반복되는 코드성 테이블을 조회할 경우나 여러테이블에 대한 많은  조인으로 성능저하가 우려되는 경우에 이용하면 좋을 것 같습니다.



[오프라인 개강예정강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]

오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(
www.onjprogramming.co.kr)

[주간]
  [12/02]안드로이드개발자과정
  [12/02]iPhone 하이브리드 앱 개발 실무과정
  [12/09][기업100%환급]Spring Framework,MyBatis,Hibernate실무프로젝트과정
  [12/16][기업100%환급]PL/SQL,ORACLE HINT,TUNING
  [12/23][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
  [12/23][기업100%환급]SQL기초에서 Schema Object까지

[평일야간]
  [12/03]웹퍼블리싱 마스터
  [12/03]iPhone하이브리드앱개발실무과정
  [12/04]SQL초보에서실전전문가까지
  [12/05]Spring3.X, MyBatis, Hibernate실무과정
  [12/09]C#,ASP.NET마스터
  [12/09]JAVA&WEB프레임워크실무과정
  [12/12]자바초보에서안드로이드까지

[주말]
  [11/30]SQL초보에서전문가까지
  [11/30]C#,ASP.NET마스터
  [12/07]Spring3.X,MyBatis,Hibernate실무과정
  [12/14]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
  [12/14]자바초보에서안드로이드까지
  [12/14]웹퍼블리싱 마스터

댓글 없음:

댓글 쓰기