보통사람

[SQL] 서브 쿼리(Subquery) 위치에 따른 명칭 본문

정리

[SQL] 서브 쿼리(Subquery) 위치에 따른 명칭

pej4303 2019. 7. 19. 22:25

서브 쿼리를 사용하는 위치에 따라 불리는 명칭이 다릅니다.

  • SELECT절 : (스칼라) 서브쿼리

  • FROM절 : 인라인 뷰

  • WHERE절 : 중첩쿼리

SELECT T1.USER_ID 
     , T1.USER_NAME 
     , ( --  스칼라 서브 쿼리 (Scalar Subquery) : 함수처럼 반드시 하나의 값을 반환해야 함 
           SELECT CODE_NM 
             FROM CODEMASTER 
            WHERE GROUP_CD = '100' 
                  AND CODE_CD = T1.POSITION 
       ) AS POSITION_NM 
  FROM TEST_1 T1 
     , ( -- 인라인 뷰 (Inline View) 
           SELECT * 
             FROM TEST_2 
            WHERE DEL_YN = 'N' 
       ) T2 
 WHERE T1.COMPANY_ID = T2.COMPANY_ID 
       AND T1.ID IN ( 
           -- 중첩 쿼리 (Nested Query)
           SELECT T3.USER_ID 
             FROM TEST_3 T3 
            WHERE T3.REG_ID = '100001' 
       )
;