개발/ORCLE

오라클 서브쿼리

쭈니후니 2008. 11. 12. 09:51

다른 하나의 sql문장의 절에 중첩된 select문장이며,
select, update, delete, insert와 같은 DML문과 create table 또는 view에서 사용 가능합니다.
query(select) 안에 query문이 포함되어 있는 query라 할수 있다.

Ex)

SELECT *

FROM (SELECT * FROM dept) --> 인라인뷰

 

SELECT *

FROM dept A

WHERE deptno = (SELECT deptno FROM emp WHERE empid = 100) --> subquery = 방법

 

SELECT *

FROM dept A

WHERE deptno IN (SELECT deptno FROM emp) --> subquery IN방법

 

SELECT *

FROM dept A

WHERE EXISTS (SELECT 1 FROM emp B WHERE B.deptno = A.deptno) --> subquery Exists방법

 

SELECT

      deptno

    , (SELECT deptnm

       FROM dept B

       WHERE B.deptno = A.deptno

       ) AS deptnm --> scalar subquery방법

FROM emp A

JOIN문 대신 이런 서브쿼리로도 다 짤수가 있다.