본문 바로가기
SQL/Oracle

오라클 서브쿼리 사용방법 및 예제

by wakestand 2020. 2. 23.
반응형

오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데

서브쿼리는 SELECT, FROM, WHERE 중 어디에든 올 수 있다

 

위 스크린샷과 같이 SELECT 쪽에

서브쿼리가 올 경우 스칼라 서브쿼리(Scalar Subqueries)라 한다

 

FROM 절에 서브쿼리가 올 경우에는 인라인 뷰(Inline View)라고 한다

 

마지막으로 WHERE 절에 서브쿼리가 올 경우에는

중첩 서브쿼리(Nested Subqueries) 라고 한다

 

서브쿼리 설명한 블로그들을 보면

간단한건데 지나치게 어렵게 설명해서 감이 안올 수 있는데

서브쿼리는 그냥 쿼리 안에 쿼리를 넣은 것이고

SELECT, FROM, WHERE 중 어느 위치에 넣냐에 따라

스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리로 갈리는 것이다

 

마지막으로 서브쿼리 예제에 사용한 코드는 아래와 같다

 

-- 스칼라 서브쿼리(Scalar Subqueries)
SELECT '이영희' AS NAME,
	   (SELECT AGE FROM TB1
	    WHERE NAME = '이영희') AS AGE
FROM DUAL

 

-- 인라인 뷰(Inline View)
SELECT AGE
  FROM (SELECT AGE FROM TB1
	WHERE NAME = '이영희')

 

-- 중첩 서브쿼리(Nested Subqueries) 
SELECT NAME, AGE
  FROM TB1
 WHERE NAME = (SELECT NAME FROM TB1
	       WHERE NAME = '이영희')
반응형

댓글