반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

Oracle SQL 요약정리 - SUBQUERY(서브쿼리) 본문

Oracle SQL/Oracle SQL 요약정리

Oracle SQL 요약정리 - SUBQUERY(서브쿼리)

yeonee 여니 2023. 6. 2. 19:57
728x90
반응형
SMALL

<SUBQUERY(서브쿼리)>
    
    하나의 주된 SQL(SELECT, CREATE, INSERT, UPDATE....) 안에 포함된 또하나의 SELECT문
    
    메인 SQL문을 위해서 보조 역할을 하는 SELECT문


*  서브쿼리 구분
    서브쿼리를 수행한 결과값이 몇행 몇열이냐에 따라서 분류됨.
    
    - 단일행 (단일열) 서브쿼리 : 서브쿼리를 수행한 결과값이 오로지 1개일때 (한칸의 컬럼값으로 나올때)
    - 다중행 (단일열) 서브쿼리 : 서브쿼리를 수행한 결과값이 여러 행일때
    - (단일행) 다중열 서브쿼리 : 서브쿼리를 수행한 결과값이 여러 열일때
    - 다중행 다중열 서브쿼리 : 서브쿼리를 수행한 결과값이 여러행, 여러 열일때
    
    => 서브쿼리를 수행한 결과가 몇행 몇열이냐에 따라서 사용가능한 연산자가 달라짐


1. 단일행(단일열) 서브쿼리 (SINGLE ROW SUBQUERY)
    서브쿼리의 조회 결과값이 오로지 1개일때
    
    일반 연산자 사용 가능(=, !=, >= <= > <...)

 

2. 다중행 서브쿼리 (MULTI ROW SUBQUERY)
    서브쿼리의 조회 결과값이 여러 행일 경우
    
    - IN (10,20,30) 서브쿼리 : 여러개의 결과값 중에서 하나라도 일치하는 것이 있다면
    
    - (> OR <) ANY(10,20,30) 서브쿼리 : 여러개의 결과값 중에서 "하나라도" 클 경우
                             즉, 여러개의 결과값 중에서 가장 작은 값보다 클경우

    - (> OR <) ALL(10,20,30) : 여러개의 결과값의 모든 값보다 클경우 혹은 작을경우

 

3. (단일행) 다중열 서브쿼리
    
    서브쿼리 조회결과가 값은 한행이지만, 나열된 컬럼의 갯수가 여러개일 경우

 

다중열 서브쿼리
-- (비교대상칼럼1, 비교대상칼럼2, ...) = (비교할값1, 비교할값2, ... => 서브쿼리형식으로 제시해야함)

 

4. 다중행, 다중열 서브쿼리 
    
    서브쿼리 조회 결과가 여러행, 여러 컬럼일 경우

728x90
반응형
LIST