반응형
서브쿼리(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 |
---|