TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

SQLD 2과목 SQL 활용 - 서브쿼리 (보강)

by 기록자_Recordian 2024. 2. 19.
728x90
반응형

[예전에 올렸던 글]

 

SQLD 2과목 SQL 활용 - 서브쿼리

서브쿼리 집합연산자 그룹 함수 윈도우 함수 TOP N 쿼리 계층형 질의와 셀프 조인 PIVOT 절과 UNPIVOT 절 정규 표현식 ※ 자료출처: 데이터 자격검정 협회 1. 서브쿼리 A. 서브쿼리(Subquery) 하나의 SQL 문

puppy-foot-it.tistory.com


해당 내용은 유튜버 'SQL 전문가 정미나' 님의 유튜브 강의 내용을 토대로 만들었습니다.

중첩 서브쿼리

 

SELECT *
FROM HR.EMPLOYEES A
WHERE A.DEPARTMENT_ID = (SELECT B.DEPARTMENT_ID
                                                     FROM HR.DEPARTMENTS B
                                                     WHERE B.LOCATION = 1800);

▶ B테이블 (부서) 중에서 'LOCATION_ID'가 1800 인 부서의 ID를 조회하고,

그 부서의 ID를 가지는 사원을 (A테이블에서) 추출하는 쿼리문

 

  • 서브쿼리가 하나의 행을 리턴 = '단일행 서브쿼리' (=, <, >, <> 등)
  • 서브쿼리가 여러개의 행을 리턴 ='다중행 서브쿼리'  (IN, ALL, ANY, SOME 등)


서브쿼리를 사용하면 안 되는 경우 (비효율적인 경우)

 


인라인 뷰 (INLINE VIEW)

 

인라인 뷰: FROM 절에서 사용되는 서브쿼리. ORDER BY 절 사용 가능


스칼라 서브쿼리

 

스칼라 서브쿼리: 한 행, 한 칼럼만을 반환하는 서브 쿼리. (주로 SELECT 절에 쓰임)

 

※ 스칼라 서브쿼리 캐싱기능: 입력값과 출력값을 오라클에서 캐시로 저장해서 한 번 이상 사용할 경우 더 빠르게 불러옴.


[참고로 보면 도움되는 영상]

  • 서브쿼리 1탄 (중첩 서브쿼리)

 

  • 서브쿼리 2탄 (인라인 뷰)

 

  • 서브쿼리 3탄 (스칼라 서브쿼리)

 

728x90
반응형