DB/오라클 SQL문

24. Having 절 (그룹함수 조건절)

DEV-HJ 2022. 2. 22. 16:42
반응형

--Having절 그룹이 조건을 주고 검색할때...group by뒤에
--where 조건절은 그룹함수를 비교조건을 쓸수없다 


--professor에서 평균급여가 450이상인 deptno의 부서번호와 평균급여를 구하시오
select deptno, avg(NVL(pay,0))
from professor group by deptno
having avg(pay)>=450;

--연봉이 3천 이상인 부서의 부서번호와 평균 급여를 구하시오
select deptno 부서번호, round(avg(sal))
from emp group by deptno
having round(avg(sal))>=2000;

--직군별 연봉합계가 7000이상인 직군과 직군별 합계연봉을 구하시오
select job 직군, sum(sal)
from emp group by job
having sum(sal)>=7000;

--직군별 연봉합계가 5000이상인 직군과 직군별 합계연봉을 구하시오...Analyst는 제외해라
--not을쓸땐 where 절 사용가능
select job 직군, sum(sal)
from emp
where job not IN('ANALYST') --ANALYST제외
group by job --업무별로 
having sum(sal)>=5000 --급여합게가 5천이상인
order by sum(sal) desc; --급여합계 내림차순

--emp에서 deptno 10,20인경우의 cnt..where,group by
--job        cnt
--analyst    2
select job, count(*) CNT 
from emp where deptno IN (10,20)
group by job;


 

반응형