본문 바로가기
Oracle

서브쿼리 *

by 임혁진 2023. 12. 12.

서브쿼리

-다른 SELECT 문장의 절에 SELECT절이 삽입된 형태

- 테이블의 행을 검색할 필요가 있을 때 사용

-질의 안의 질의

하나의 질의로는 해결X

 

기본형태

예시

 

서브쿼리를 작성할 수 있는 SQL 절

-SELECT 절 (스칼라 서브쿼리)

-FROM 절(인라인 뷰)

-WHERE 절

-HAVING 절

-ORDER BY 절

-INSERT 문의 VALUES 절

-UPDATE 문의 SET절

-CREATE 테이블의 AS절

 

서브쿼리를 사용할 때 지켜야 할 사항들

 

단일행 서브쿼리

 

 

다중행 서브쿼리

 

DAVID가 3개 나와서 뭘 선택할지 모른다

 

다중행 서브쿼리 - 리턴값이 2개 행 이상일 경우

IN - 정확한 값인지 확인

ANY,SOME - 리턴 값중 하나라도 적용이 되는지

ALL - 리턴 값이 모두 만족

 

예시

 

ANY를 써서 DAVID의 급여 4800 , 9500 , 6800 중 4800보다 크기만 하면 다 출력

 

 

DEPARTMENT_ID 가 DAVID와 같은 경우(60,80) 출력

 

 

 

스칼라(SCALAR)서브쿼리

-SELECT 절에 사용하는 서브쿼리

-조인을 수행 할 시  조인할 행의 수를 줄여 성능을 향상시킴 

-즉 필요한 컬럼만 따로 가져온다

 

 

JOIN 과 SCALAR 의 차이 이다 

 

 

인라인 뷰(INLINE VIEW)

-뒤에 나오는 VIEW와 같다

- FROM 절에 서브쿼리가 오는 것을 뜻한다

 

3중 쿼리

쿼리안의 쿼리

 

서브쿼리 실습

https://ohj9575.tistory.com/44