Araina’s Blog

8. ORACLE SQL 고급: 부속 질의 본문

Develop Study/Database (ORACLE)

8. ORACLE SQL 고급: 부속 질의

Araina 2022. 5. 26. 23:14


 

 

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)와 같이 사용된다.

중첩 질의는 술어 부속 질의라고도 부른다.

 


 


수고하셨습니다!


Comments