1. GROUP BY란?
GROUP BY는 SQL에서 데이터를 그룹화하는 핵심 명령어다. 마치 비슷한 물건들을 하나의 상자에 모아놓는 것처럼, 데이터베이스에서 같은 특성을 가진 데이터들을 하나의 그룹으로 묶어준다.
GROUP BY의 기본 구조
SELECT 열1, 집계함수(열2)
FROM 테이블명
GROUP BY 열1;
여기서 '집계함수'란 COUNT(), SUM(), AVG(), MAX(), MIN() 등을 말한다.
GROUP BY 사용 예시
예를 들어, 학생들의 성적 데이터가 있다고 가정
SELECT 학년, AVG(점수) as 평균점수
FROM 학생성적
GROUP BY 학년;
이 쿼리는 각 학년별로 학생들의 평균 점수를 계산해줍니다. 1학년, 2학년, 3학년... 이렇게 학년별로 그룹을 만들고, 각 그룹의 평균 점수를 보여준다.
2. HAVING이란?
HAVING은 GROUP BY로 그룹화된 결과에 조건을 적용할 때 사용한다.. WHERE가 개별 행에 조건을 적용한다면, HAVING은 그룹화된 결과에 조건을 적용한다.
HAVING의 기본 구조
SELECT 열1, 집계함수(열2)
FROM 테이블명
GROUP BY 열1
HAVING 집계함수에 대한 조건;
HAVING 사용 예시
앞서 본 학생 성적 예시를 확장했을 시
SELECT 학년, AVG(점수) as 평균점수
FROM 학생성적
GROUP BY 학년
HAVING AVG(점수) > 80;
이 쿼리는 평균 점수가 80점을 초과하는 학년만 결과로 보여준다. 즉, 평균이 80점 이하인 학년은 결과에서 제외된다.
'BOOK' 카테고리의 다른 글
| [Do it SQL] Chapter 07-5 (1) | 2025.04.12 |
|---|---|
| [Do it SQL] Chapter 07-1 (0) | 2025.04.04 |
| [Do it SQL] Chapter 06-5/ 06-6 (0) | 2025.04.02 |
| [Do it SQL] Chapter 06-3/ 06-4 (0) | 2025.03.31 |
| [Do it SQL] Chapter 06-1/ 06-2 (1) | 2025.03.29 |