본문 바로가기

Study/OracleDB

17강 오라클 SQL GROUP BY 절

728x90

-- 어떤 컬럼 값을 기준으로 그룹함수를 적용할 경우 GROUP BY 절 뒤에 해당 컬럼을 기술한다.
-- select 컬럼명, 그룹함수 FROM 테이블명 WHERE 조건(연산자) GROUP BY 컬럼명;
-- GROUP BY 절 다음에는 컬럼의 별칭을 사용할 수 없다.
-- 사원 테이블을 부서 번호로 그룹지어 봅시다.
select deptno from emp group by deptno;

-- 소속 부서별 평균 급여 구하는 예제입니다.
select deptno, avg(sal) from emp group by deptno;

-- 단일 그룹의 그룹 함수가 아닙니다.
select deptno, avg(sal) from emp;
     -- 단일 값 -- 여러개의 행 그래서 안되는거임.

-- 그래서 DEPTNO 그룹 별로 묶어(group by) 평균을 추출한다.
select deptno, avg(sal) from emp group by deptno;

-- 소속 부서별 최대 급여와 최소 급여를 구하는 예제 입니다.
select deptno, max(sal) ,min(sal) from emp group by deptno;

-- 부서별로 사원 수와 커미션을 받는 사원들의 수를 계산하는 예제.
select deptno, count(*), count(comm) from emp group by deptno;

-- <탄탄히 다지기>
-- 1. 특정 컬럼을 기준으로 테이블에 존재하는 행들을 그룹별로 구분하기 위해서는_______사용합니다.

-- 2. job 컬럼의 부서별로 그룹화 하여 사원수를 출력하시오.
select job, count(job), avg(sal) from emp group by job;



반응형