본문 바로가기
인공지능/데이터 분석

[SQL] 서브쿼리 (Subqueries)

by 찌니와 용용 2023. 12. 14.
반응형

서브쿼리(Subqueries)는 SQL 문 안에 포함된 다른 완전한 SQL 문!

무슨말인지?...

 

간단히 말하면 우리가 주로 쿼리 날릴때 사용하는 

Select * from Table  

이 형태의 완전한 쿼리가 또 하나 들어 있게 되는 것이에요!

 

스칼라 서브쿼리 (Scalar Subquery)

- 주로 select 문이나 조건을 포함하는 where, having 절에 사용됩니다.

SELECT column1, column2, (SELECT MAX(column3) FROM another_table) AS max_value
FROM main_table;

 

- 위의 쿼리를 보면 select 문안에 또 select 가 포함되어있는걸 확인할 수 있죠??

 

테이블 서브쿼리 (Table Subquery)

- 서브쿼리가 여러 행과 열을 반환하는 경우 이용됩니다. 

- FROM  절에서 사용하며 일시적인 테이블로 취급됩니다. 

SELECT column1, column2
FROM main_table
WHERE column3 IN (SELECT column3 FROM another_table WHERE condition);

 

서브쿼리는 주 쿼리의 일부로 되며 주 쿼리의 조건이나 결과에  따라 실행되므로 서브쿼리는 주 쿼리가 실행되기 전에 먼저 실행되고 결과가 주 쿼리로 전달됩니다. 

 

서브쿼리의 용도 

1. 데이터 필터링: 서브쿼리를 이용하여 특정 조건을 만족하는 데이터을 검색할 수 있다. 

2. 계산 : 서브쿼리를 이용하여 복잡한 계산을 수행하고 결과를 사용할 수 있다.

3. 비교 및 검증 : 서브쿼리를 사용하여 데이터를 비교하거나 특정 조건을 검증할 수 있다. 

 

서브쿼리 시 주의점

- 너무 많은 쿼리를 이용할 경우 성능에 영향을 미칠 수 있기 때문에 적절하게 최적화되어야한다.

- 복잡한 서브쿼리나 많은 서브쿼리 사용은 성능저하의 원인이 될 수 있다.

반응형

'인공지능 > 데이터 분석' 카테고리의 다른 글

[SQL] 데이터 테이블 별칭(Aliases)  (25) 2023.12.13