본문 바로가기
Back-End/Database

[SQL] GROUP BY 절 / HAVING절

by 찐코딩 2021. 10. 5.

GROUP BY 절

- 특정컬럼이나 값을 기준으로 해당 레코드를 묶어서 자료를 관리할 때 사용 
- 보통은 특정 컬럼을 기준으로 집계를 구하는데 많이 사용 
- 보통은 그룹함수와 함게 사용하면 효과적으로 사용이 가능

 

 

 

 

-- emp 테이블에서 부서별로 각 부서의 인원을 확인하고 싶은 경우

select deptno, count(*)
from emp
group by deptno
order by deptno;

 

 

-- [문제1] emp 테이블에서 각 부서별 인원, 평균급여, 최대급여, 최소 급여를 표시하시오

select sum(sal), count(*) "부서별 인원", avg(sal) "부서별 평균 급여", 
max(sal) "부서별 최대 급여", min(sal) "부서별 최소 급여"
from emp
group by deptno
order by deptno;

 

 

HAVING 절

- GROUP BY 절 다음에 오는 조건절로 GROUP BY 절의 결과에 조건을 주어서 제안할 때 사용 
- GROUP BY 절에는 WHERE (조건절)이 올 수 없다.

-- 사원수가 5명 이상인 부서의 이름과, 사원수를 화면에 출력하시오

SELECT b.dname, COUNT(a.empno) "사원수"
FROM emp a, dept b
WHERE a.deptno = b.deptno
GROUP BY dname
HAVING COUNT(a.empno) >= 5;

 

'Back-End > Database' 카테고리의 다른 글

[SQL] PL/SQL(PROCEDUAL LANGUAGE / SQL)  (0) 2021.10.05
[SQL] 트랜잭션(transaction)  (0) 2021.10.05
[SQL] 서브 쿼리  (0) 2021.10.05
[SQL] 컬럼 속성(제약 조건)  (0) 2021.10.05
[SQL] view  (0) 2021.10.05

댓글