SSISO Community

시소당

서브쿼리와 인라인뷰 오라클/자바[ERP]

통칭 서브쿼리라고하는 것은 SQL에서의 사용 위치에 따라 세가지 정도로 나누며, 이들을 제외한 쿼리를 메인쿼리라고 합니다.

 

1. 인라인뷰

SELECT A.*, B.*

FROM A,

     (SELECT empno, deptno

      FROM B

     ) B --> FROM절의 서브쿼리는 In-Line View라고 함.

WHERE A.empno = B.empno

 

2. 스칼라 서브쿼리

SELECT

       A.*

     , (SELECT dept_name

        FROM B

        WHERE B.deptno = A.deptno

      ) AS 부서명 --> SELECT List에 쓰인 서브쿼리를 Scalar Sub-Query 라고 함.

FROM A

WHERE ~~

 

3. 그 외 - 서브쿼리

SELECT *

FROM A

WHERE empno IN (SELECT empno FROM B WHERE ~~)

또는

SELECT *

FROM A

WHERE EXISTS (SELECT 1 FROM B WHERE B.empno = A.empno)

1693 view

4.0 stars