SQL
SELECT문 내용 정리 및 활용해보기 5 (feat. 그룹함수, 그룹핑)
개발 일기
2021. 7. 9. 23:54
안녕하세요!!
오늘은 복수 개의 행을 입력 받아 결과를 리턴하는 '그룹함수(Group Function)'에 대한 정리를 해보겠습니다!
1. 그룹 함수(Group Function)
- 복수 개의 행을 입력 받아 한 건의 결과를 리턴 하는 함수
- 복수 개의 행들은 전체 테이블 또는 특정 그룹일 수 있다.
- count(*) 함수를 제외한 모든 그룹함수는 기본적으로 Null 무시한다. (NVL 함수 이용)
2. GROUP BY
- 전체 테이블이 아닌 특정 그룹으로 묶을 때 사용
- SELECT 절 뒤에 사용할 수 있는 컬럼은 GROUP BY 뒤에 기술된 컬럼 또는 그룹함수가 적용된 컬럼 이어야 함
- WHERE 절을 사용하여 행을 그룹으로 분류하기 전에 제외 시킬 수 있음
- GROUP BY 절 뒤에는 컬럼 별칭을 사용 할 수 없음
- 내부적으로 GROUP BY에 기술된 컬럼으로 오름 차순 정렬 됨
3. HAVING 절
- GROUP BY에 의해 분류된 그룹들을 제한하기 위한 방법
EX)
select deptno, round(avg(sal))
from emp
where 1=1
group by deptno
having avg(sal) >= 2000 -- having절 사용 시 그룹핑 이후 사용 가능
order by deptno asc;
SQL에 그룹핑과 관련된 내용을 정리해보았습니다.
감사합니다.