SQL/SQL 연습

GROUP BY : 연습 문제

HicKee 2022. 11. 3. 16:17

각 부서에 대해서 부서 번호, 사원수, 부서 내의 모든 사원의 평균 급여를 부서별로 오름차 순으로 출력

평균 급여는 반올림한다

select dno 부서번호 ,count(*) 사원수 ,round(avg(salary)) "평균 급여"
from employee
group by dno
order by dno;

각 부서에 대해 부서번호, 부서 이름,  지역명, 사원수,  부서 내의 모든 사원의 평균 급여 출력

평균 급여 반올림 (DECORD 나 CASE 사용 JOIN X)

select dno 부서번호,
case when dno=10 then '회계'
     when dno=20 then '연구'
     when dno=30 then '판매'
     when dno=40 then '관리'
else '대기중'
end as 부서명,
case when dno=10 then '뉴욕'
     when dno=20 then '달라스'
     when dno=30 then '시카고'
     when dno=40 then '보스턴'
else '대기중'
end as 근무지,
count(*) 사원수 , round(avg(salary)) 평균급여
from employee
group by dno
order by dno;

부서 번호,사원명, 사원수, 부서별 인원의 소 합계, 모든 부서 인원 , 금액 총합계 출력 

ROLLUP 사용

select dno 부서번호 ,ename 사원명 ,count(*) 사원수 ,sum(salary) "급여 총 합계"
from employee
group by rollup(dno,ename) ;

위 문제를 cube 사용

select dno,ename,count(*),sum(salary)
from employee
group by cube(dno,ename);

'SQL > SQL 연습' 카테고리의 다른 글

JOIN : 연습 문제 2  (0) 2022.11.04
JOIN : 연습 문제 1  (0) 2022.11.04
TABLE CREATE  (0) 2022.11.02
SELECT 연습 문제 02  (0) 2022.11.02
SELECT 연습 문제 01  (0) 2022.11.02