본문 바로가기

MySQL

MySQL에서 서브쿼리(SubQuery) 활용하기

서브쿼리 정의

서브쿼리(Subquery)는 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 의미한다. 이 내부 쿼리는 외부 쿼리(Outer Query) 또는 메인 쿼리 내에서 실행된다.

 

서브쿼리 사용 이유

서브쿼리는 여러 SELECT 절을 한 번에 처리할 수 있도록 해주기 때문에, 복잡한 데이터 처리 작업을 효율적으로 수행할 수 있다. 이는 특히 집계 함수와 함께 사용할 때 유용하다.

 

서브쿼리 문법과 사용 위치

문법

  • 서브쿼리는 괄호 () 안에 작성된다.
  • 서브쿼리는 세미콜론 ;을 생략할 수 있다.

한가지 예시에 두가지 방식으로 조회해보겠습니다.

 

예시 상황

 

예시 해결 1

 

이 경우 Limit 키워드로 한가지 데이터만 가져오게 됩니다.

 

예시 해결 2

 

서브쿼리를 활용한 2번의 경우에는 책 페이지 수가 가장 많은 데이터를 전부 가져옵니다.

 

이렇듯 서브쿼리를 사용하여 데이터를 조회할 시 많은 데이터를 필요로 할 때에도 빠르게 조회할 수 있습니다.

 

주의할 점

  • 서브쿼리는 괄호로 감싸져야 한다.
  • 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용할 수 있다.
  • 서브쿼리에서는 ORDER BY를 사용할 수 없다.
  • 메인 쿼리의 GROUP BY 절에는 서브쿼리를 사용할 수 없다.

 

 

'MySQL' 카테고리의 다른 글

MySQL에서 시간 함수 활용하기  (0) 2024.11.29
MySQL에서 IF와 CASE 활용하기  (1) 2024.11.29
MySQL에서 SUM 함수 활용하기  (0) 2024.11.28
MySQL에서 COUNT 함수 활용하기  (0) 2024.11.28
MySQL에서 LIKE 키워드 활용하기  (0) 2024.11.28