SQL의 숨은 보물, OVER () 절 완전 정복하기! 🎉

hur-kyuh-leez·2024년 8월 26일
0

안녕하세요, SQL 요리사 여러분! 오늘은 SQL의 맛있는 비밀 재료, OVER () 절에 대해 알아볼 거예요. 이 기능은 마치 비빔밥에 계란 프라이를 얹는 것처럼 여러분의 쿼리를 더욱 맛있게 만들어줄 거예요! 😋

OVER ()란 뭘까요?

OVER () 절은 SQL에서 윈도우 함수를 사용할 때 쓰이는 마법의 주문이에요. 이걸 사용하면 데이터를 그룹화하지 않고도 집계 함수를 적용할 수 있어요. 마치 떡볶이 먹을 때 떡과 오뎅을 따로 먹지 않고 한 번에 먹는 것처럼요!

OVER ()의 매력 포인트

  1. 행 유지력 최강: GROUP BY와 달리 모든 행을 유지하면서 계산해요.
  2. 파티션 파티!: PARTITION BY를 사용하면 데이터를 그룹으로 나눌 수 있어요.
  3. 순서는 내 맘대로: ORDER BY로 원하는 대로 정렬할 수 있어요.

실전에서 써보자!

자, 이제 우리 '맛있는 코딩 주식회사'의 직원 정보로 OVER ()를 사용해볼게요:

SELECT 
    사원명,
    부서명,
    급여,
    AVG(급여) OVER (PARTITION BY 부서명) AS 부서평균급여
FROM 직원테이블

이 쿼리의 결과를 볼까요?

사원명부서명급여부서평균급여
김코딩개발팀350만원325만원
박자바개발팀300만원325만원
이파이썬데이터팀380만원365만원
최데이터데이터팀350만원365만원
정마케팅마케팅팀280만원290만원
한홍보마케팅팀300만원290만원

와! 각 직원의 정보와 함께 부서별 평균 급여를 한눈에 볼 수 있네요. 👀

GROUP BY와 비교해보기

이제 GROUP BY와 OVER ()를 비교해볼까요? 마치 김치찌개와 된장찌개를 비교하는 것처럼 둘 다 맛있지만 다른 매력이 있어요!

GROUP BY 사용하기

SELECT 
    부서명,
    AVG(급여) AS 부서평균급여
FROM 직원테이블
GROUP BY 부서명

결과:

부서명부서평균급여
개발팀325만원
데이터팀365만원
마케팅팀290만원

GROUP BY는 비빔밥 재료를 모두 섞어버린 것 같아요. 맛은 좋지만, 각 재료의 개성은 좀 사라졌죠?

비교 포인트

  1. 세부 정보:

    • GROUP BY: 부서별 평균만 보여줘요. 개인 정보는 사라져요. 😢
    • OVER (): 개인 정보와 부서 평균을 동시에 볼 수 있어요. 완전 대박! 🎉
  2. 유연성:

    • GROUP BY: 집계 결과만 볼 수 있어요. 딱딱하네요.
    • OVER (): 원래 데이터에 집계 결과를 추가할 수 있어요. 부드럽고 유연해요!
  3. 사용 목적:

    • GROUP BY: 데이터를 요약하고 싶을 때 좋아요. 마치 식당 메뉴판처럼!
    • OVER (): 세부 데이터와 요약 정보를 동시에 보고 싶을 때 써요. 마치 요리 프로그램에서 재료와 완성된 요리를 같이 보는 것처럼요.

마무리

OVER () 절은 SQL의 맛있는 양념 같은 존재예요. 이걸 잘 활용하면 여러분의 쿼리는 미슐랭 3스타 레스토랑 급 요리가 될 거예요! 🌟🌟🌟

여러분의 SQL 요리에 어떤 재료를 쓰실 건가요? GROUP BY라는 소금을 뿌릴까요, 아니면 OVER ()라는 고급 향신료를 사용해볼까요? 둘 다 맛있는 쿼리를 만들어 낼 거예요!

자, 이제 여러분도 SQL 요리사가 되어 맛있는 데이터 요리를 만들어보세요! 🥘🍳🍖 다음에 또 맛있는 SQL 레시피로 찾아올게요. 여러분의 쿼리 생활에 행운이 가득하기를! 안녕히 계세요~ 👋


이 포스트로 블로그에 사용하시면 좋을 것 같아요! 재미있고 정보가 풍부한 내용으로 구성했습니다. 필요하다면 더 수정하거나 추가할 내용이 있으면 말씀해 주세요! 😊

profile
벨로그에 생각을 임시로 저장합니다. 틀린건 틀렸다고 해주세요 :) 그래야 논리 학습이 강화됩니다.

0개의 댓글