상세 컨텐츠

본문 제목

윈도우 함수와 SubQuery

MySQL

by 싫은밀 2023. 10. 4. 17:09

본문

728x90
반응형

윈도우 함수 (Window Functions):

윈도우 함수는 SQL에서 데이터 집계 및 분석 작업을 수행하는 데 사용되는 강력한 기능 중 하나입니다. 주로 윈도우 함수는 "창" 또는 "윈도우" 내에서 연산을 수행하고 그룹 별로 결과를 생성하는 데 사용됩니다. MySQL에서 윈도우 함수를 사용하려면 다음과 같은 함수들을 사용할 수 있습니다:

  • ROW_NUMBER(): 결과 집합의 각 행에 순차적인 번호를 할당합니다.
  • RANK(): 결과 집합의 행을 순서대로 나열하고 동일한 값이 있을 경우 순위를 부여합니다.
  • DENSE_RANK(): RANK()와 유사하지만 동일한 값에 대해 같은 순위를 부여합니다.
  • SUM() OVER(): 창(윈도우) 내에서 SUM()을 계산합니다.
  • AVG() OVER(): 창(윈도우) 내에서 평균을 계산합니다.
  • MAX() OVER(): 창(윈도우) 내에서 최댓값을 찾습니다.
  • MIN() OVER(): 창(윈도우) 내에서 최솟값을 찾습니다.

윈도우 함수를 사용하면 결과 집합의 특정 부분에 대한 집계 또는 순위를 계산할 수 있으며, 보다 복잡한 데이터 분석 작업을 수행하는 데 유용합니다.

 

서브쿼리 (Subquery 또는 Inner Query):

서브쿼리는 SQL 쿼리 안에 포함된 또 다른 SQL 쿼리를 의미합니다. 주로 다음과 같은 상황에서 사용됩니다:

  1. 부모 쿼리의 조건을 만족하는 데이터를 하위 쿼리로 선택하기 위해 사용됩니다.
  2. 서브쿼리의 결과를 이용하여 부모 쿼리에서 조인 또는 비교 연산을 수행합니다.
  3. 부모 쿼리가 실행되기 전에 먼저 서브쿼리가 실행됩니다.

예를 들어, 다음과 같은 상황에서 서브쿼리를 사용할 수 있습니다:

 

이 쿼리는 orders 테이블에서 특정 날짜 이후의 주문에 대한 고객 번호를 서브쿼리로 선택하고, 이를 기반으로 해당 고객의 이름을 부모 쿼리에서 선택합니다.

서브쿼리는 쿼리의 가독성을 높이고 복잡한 데이터 추출 및 필터링 작업을 수행하는 데 도움이 됩니다.

728x90
반응형

관련글 더보기