Priv's Blog
8. ORACLE SQL 고급: 부속 질의 본문
1. 부속 질의(Sub query)
1개의 SQL 문 안에 다른 SQL 문이 중첩된 질의를 의미한다.
다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용한다.
보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 JOIN보다는 필요한 데이터만 찾아서 공급해주는 부속 질의를 사용하는 것이 효율적인 경우가 많다.
질의는 크게 주 질의(Main Query)와 부속 질의(Sub Query)로 나눌 수 있다.
부속 질의의 종류는 다음과 같다.
1.2) 스칼라 부속 질의(Scalar Subquery) - SELECT 부속 질의
SELECT 절에서 사용되는 부속 질의이다.
부속 질의의 결과 값을 단일 행, 단일 열의 스칼라 값으로 반환한다.
스칼라 부속 질의는 원칙적으로 스칼라 값이 들어갈 수 있는 모든 곳에 사용 가능하다.
일반적으로는 SELECT 문과 UPDATE SET 절에 사용된다.
주 질의와 부속 질의의 관계는 상관/비상관 모두 가능하다.
1.3) 인라인 뷰(InLine View) - FROM 부속 질의
FROM 절에 사용되는 부속 질의이다.
테이블 이름 대신 인라인 뷰 부속 질의를 사용하면 보통 테이블과 같은 형태로 사용할 수 있다.
부속 질의 결과 반환되는 데이터는 다중 행, 다중 열이어도 무관하다.
가상 테이블인 뷰 형태로 제공되므로, 상관 부속 질의로 사용될 수는 없다.
1.4) 중첩 질의(Nested Subquery) - WHERE 부속 질의
중첩 질의는 WHERE 절에서 사용되는 부속 질의이다.
WHERE 절은 보통 데이터를 선택하는 조건이나 술어(Predicate)와 같이 사용된다.
중첩 질의는 술어 부속 질의라고도 부른다.
수고하셨습니다!
'Dev. Study Note > Database (ORACLE)' 카테고리의 다른 글
10. ORACLE SQL 고급: 인덱스(Index) (0) | 2022.05.26 |
---|---|
9. ORACLE SQL 고급: 뷰(View) (0) | 2022.05.26 |
7. ORACLE SQL 고급: SQL 내장 함수 (0) | 2022.05.26 |
6. ORACLE SQL 기초: 데이터 조작어 - 삽입, 수정, 삭제 (0) | 2022.05.11 |
5. ORACLE SQL 기초: 데이터 정의어 (0) | 2022.05.09 |
Comments