본문 바로가기
Big Data/Database

서브쿼리의 유형

by Wikinist 2023. 7. 25.

서브쿼리(Subquery)에는 세 가지 주요 유형이 있습니다. 인라인 뷰(Inline View), 스칼라 서브쿼리(Scalar Subquery), 그리고 연관 서브쿼리(Correlated Subquery)가 있습니다.

인라인 뷰(Inline View)

인라인 뷰는 주 쿼리 내에서 서브쿼리가 사용되는 형태로, 서브쿼리 결과를 뷰(View)처럼 다루는 방식입니다. 주로 FROM 절에서 서브쿼리를 사용하여 데이터를 필터링하거나, 서브쿼리가 생성하는 가상 테이블을 사용하여 복잡한 연산을 수행합니다.
예를 들면, 다음과 같이 사용됩니다:

SELECT column1, column2
FROM (SELECT column1, column2 FROM table1 WHERE condition) AS inline_view;

스칼라 서브쿼리(Scalar Subquery)

스칼라 서브쿼리는 단일 값을 반환하는 서브쿼리를 말합니다. 스칼라 서브쿼리는 주로 SELECT 문이나 WHERE 절에서 사용되며, 단일 값 비교나 연산 등에 활용됩니다.
예를 들면, 다음과 같이 사용됩니다:

SELECT column1, (SELECT MAX(column2) FROM table2) AS max_value
FROM table1;

연관 서브쿼리(Correlated Subquery)

연관 서브쿼리는 외부 쿼리와 서브쿼리 간에 상호 연관된 관계를 가지는 서브쿼리입니다. 주로 외부 쿼리의 한 행마다 서브쿼리가 실행되며, 외부 쿼리의 값을 기준으로 서브쿼리를 필터링하거나 계산합니다.
예를 들면, 다음과 같이 사용됩니다:

SELECT column1, column2
FROM table1 t1
WHERE column3 > (SELECT AVG(column3) FROM table1 WHERE column4 = t1.column4);


이 세 가지 유형의 서브쿼리는 SQL 쿼리를 더 강력하고 유연하게 만들어주는데 활용됩니다. 각각의 유형은 다른 상황에 따라 적합하게 사용됩니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > Database' 카테고리의 다른 글

NULL 처리 함수  (0) 2023.07.26
NULL과 연산  (0) 2023.07.26
식별관계, 비식별관계  (0) 2023.07.24
일관성과 무결성  (0) 2023.07.24
정규화(Normalization)  (0) 2023.07.24