IT story/JSP

L07 group by

jason719 2016. 10. 22. 00:04

2016. 10. 19(Wed)

L07 group by


  • GROUP BY

    • SELET 컬럼명, 그룹함수

FROM 테이블명

WHERE 조건

GROUP BY 칼럼명

    • 그룹 함수는 단 한 개의 결과만 출력 가능

    • 이때 GROUP BY를 사용하면 기준이 되는 칼럼의 여러가지 그룹 함수 결과를 확인할 수 있다.

    • SELECT DEPTNO, SUM(SAL), AVG(SAL) FROM EMP GROUP BY DEPTNO;


  1. 부서 별 최대 급여와 최소 급여를 구하세요.

답) select deptno,max(sal), min(sal) from emp group by deptno;


  1. 부서 별 사원 수와 커미션을 받는 사원 수를 구하세요.

답) select deptno, count(ename),count(comm) from emp group by deptno;


  1. HAVING 절을 이용해서 평균 급여가 2000이상인 부서를 부서 번호와 평균 급여를 출력하세요.

    1. HAVING은 GROUP BY의 조건으로 온 칼럼의 그룹 함수 결과를 조건으로 검색할 수 있다. //그룹 함수는 where 절을 쓸 수 없다.

답)  select deptno, avg(sal) from emp group by deptno having avg(sal) >=2000;


  1. 부서 별 급여의 최대 값과 최소 값을 구하되 최대 값이 2900 이상인 부서만 출력하세요.

답)  select deptno, max(sal), min(sal) from emp group by deptno having max(sal)>=2900;


  1. 실제 급여의 최대 값이 2900 이상인 부서의 최대값과 최소값을 구하되 실제 급여(SAL*10+COMM)의 최대 값이 2900 이상인 부서만 출력하세요.

답)  select deptno, max(sal*10+comm), min(sal*10+comm) from emp group by deptno having max(sal*10+comm)>=2900;


'IT story > JSP' 카테고리의 다른 글

L09 Sub Query  (0) 2016.10.22
L08 join  (0) 2016.10.22
D+34~36 Oracle(SQL SELECT문: Function, Group Function)  (0) 2016.10.01
D+31~33 Oracle (서버 설치하기, SQL SELECT문)  (0) 2016.09.28
D+29 JDBC(Java DATABASE Connection, DELETE)  (0) 2016.09.26