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