SQLD 기출 문제 HAVING 절 낱낱이 파헤쳐 보기

250x250
728x90

SQLD 기출 문제 HAVING 절 낱낱이 파헤쳐 보기

안녕하세요! 취준 퇴준입니다. 오늘의 취준/이직 준비를 위해 SQLD 자격증에서 나오는 HAVING 절 에 대해서 자세히 알아보고자 합니다.  

1. HAVING 절이란?

SQL에서 HAVING 절GROUP BY로 그룹화된 데이터에 대해 특정 조건을 걸어 필터링할 때 사용합니다. 쉽게 말해, GROUP BY는 데이터를 그룹으로 묶어주고, HAVING은 그 묶인 그룹에 대해 조건을 걸어서 원하는 결과만 보여주는 역할을 합니다.

2. WHERE 절과 HAVING 절의 차이

  • WHERE 절은 데이터를 그룹화하기 전에 개별 행(row)에 대해 조건을 거는 것입니다.
  • HAVING 절은 데이터를 그룹화한 후, 그룹에 대해 조건을 거는 것입니다.

3. 예시로 이해하기

예시 1: 학생들의 점수 그룹화 후 평균이 70점 이상인 반만 보기

SELECT 반, AVG(점수) AS 평균점수
FROM 학생들
GROUP BY 반
HAVING AVG(점수) >= 70;

  • 설명:
    • 학생들을 반별로 묶어서 각 반의 평균 점수를 계산합니다.
    • 평균 점수가 70점 이상인 반만 결과로 보여줍니다.

예시 2: 판매량이 100개 이상인 상품만 보기

SELECT 상품명, SUM(판매량) AS 총판매량
FROM 판매기록
GROUP BY 상품명
HAVING SUM(판매량) >= 100;

  • 설명:
    • 각 상품명을 기준으로 판매량을 모두 더해 총 판매량을 계산합니다.
    • 총 판매량이 100개 이상인 상품만 결과로 보여줍니다.

예시 3: 월별 총 매출이 1,000,000원 이상인 달만 보기

SELECT 월, SUM(매출액) AS 총매출
FROM 매출기록
GROUP BY 월
HAVING SUM(매출액) >= 1000000;

  • 설명:
    • 각 달(월)을 기준으로 매출액을 모두 더해 그 달의 총 매출액을 계산합니다.
    • 총 매출액이 1,000,000원 이상인 달만 결과로 보여줍니다.

4. 요약

  • WHERE는 데이터를 그룹화하기 전에 조건을 걸 때 사용.
  • HAVING은 데이터를 그룹화한 후, 그 그룹에 조건을 걸 때 사용.

이렇게 HAVING 절은 그룹화된 데이터에 조건을 걸어 원하는 결과만 걸러낼 때 매우 유용합니다. 데이터를 더 잘 분석하고, 필요한 결과만 얻을 수 있게 도와주는 중요한 SQL 문법 중 하나입니다!

728x90

댓글

Designed by JB FACTORY