개발/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문 대신 이런 서브쿼리로도 다 짤수가 있다.