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 |
댓글