1013 데이터베이스 정리_서브쿼리

 

* 서브쿼리 = 보조쿼리

    서브쿼리가 메인쿼리보다 먼저 실행된다.  
    1. SELECT절에 오는 서브쿼리를 스칼라 서브쿼리라고 부른다.

        예)
        SELECT
        count(*) AS "모든 사원 수",
        (SELECT count(*) AS "사원 수"FROM emp WHERE job ="manager")
        AS "manager 사원수"
        FROM emp
       
    2. FROM절에 오는 서브쿼리를 인라인 뷰(가상 테이블)이라고 부른다.
        FROM절에 오는 서브쿼리는 WHERE절처럼 필터링할 때 사용한다.
       
        select
        e.deptno
        from(select deptno from emp group by deptno having count(*)>4) as sub
        inner join emp as e
        on sub.deptno = e.deptno
       
    3. where 절에 오는 서브쿼리를 중첩쿼리라고 부른다.
        서브쿼리 중에서 사용률이 가장 낮다.
       
        select * from emp where empno in -- 해당하는 값이 많을 때는 "=" 대신 in 사용
        (select empno from emp where mgr is null)
       


댓글

이 블로그의 인기 게시물

JAVA_Collection

JAVA_Collection2