[SQL] 헷갈리는 개념

이상해씨·2024년 8월 27일
0

SQL

목록 보기
10/22

sql을 회사에서 거의 사용하지 않고, 사용하더라도 데이터 확인 정도의 용도로 사용한다.
뷰, 서브쿼리, 윈도우 함수는 사용해 본적이 없어 헷갈리는 개념이라 정리를 해보았다.
아직 문법도 익숙치 않지만, 쓰다보면 익숙해 지겠지!

view vs subquery

  • 차이점

    • subquery는 임시로 생성되는 쿼리문
    • view는 임시로 생성되는 테이블 객체
  • 공통점

    • 물리적으로 영향을 미치지 않음
    • 동적으로 생성됨
    • 임시적으로 생성
    • 재사용성이 좋음

window function vs aggregate function

  • 차이점
    • 집계함수(aggregate Function)
      • 지정된 데이터 범위 내에서 그룹화된 결과를 요약
      • group by 함수로 각 그룹에 대하여 하나의 결과 도출
      • SUM, MIN, MAX, AVG, COUNT
    • 윈도우 함수
      • 각 행에 대하여 분석 수행
      • over 함수로 함수를 적용할 기준을 설정
      • 집계함수, 순위함수, 누적함수, 이동평균 및 이동 집계함수, LAG() 및 LEAD()함수
        (https://mode.com/sql-tutorial/sql-window-functions)
      • 각 행에 대하여 결과 표출

    window 함수 예시

  • 기본 문법
<window_function>(<expression>) OVER (
    [PARTITION BY <partition_expression>]
    [ORDER BY <order_expression>]
    [ROWS/RANGE BETWEEN <start> AND <end>]
)

SELECT
    order_date,
    employee_id,
    sales,
    AVG(sales) OVER (PARTITION BY employee_id ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_avg
FROM sales_data;


참고
--

profile
공부에는 끝이 없다

0개의 댓글