Notice
Recent Posts
Recent Comments
Link
09-13 16:54
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

study-project

오라클 group by 절과 having 절 본문

DB/ORACLE

오라클 group by 절과 having 절

귤식빵 2020. 8. 30. 15:17

오라클의 그룹 함수

avg() , count(), max(), min(), stdddev() , sum(), variance() 

 

employee 테이블로 부터 job_id별로 최대 급여와 최소 급여를 출력한 것이다. 

그룹함수를 쓸때 select 절에 적었던 칼럼을 그룹바이 절에 포함시켜야 오류가 나지 않는다. 

그리고 where 절은 단일행 함수에 대한 조건이 들어가는 것이고 

hvaing 절이 group 함수에 대한 조건이 들어가는 문법이다. 

select column, group_function
from table
where condition
group by group_by_expression
having group_conditionl
order by column;

group 함수를 사용할때 sql 문법 순서이다.  

group by 와 having은 순서가 바뀌어도 상관없다 항상 마지막에 올수있는건 order by

 

예시.

employee 테이블로 부터 메니져를 알 수 없는 사원은 제외하고 매니저별로 그룹화하여서 매니저별 최소 급여를

출력하되 급여가 6000을 넘는 사람만 출력하고 최소급여를 기준으로 내림차순 정렬하시오 . 

 

처음에는 이렇게 작성했었다.  여기서 distinct를 사용했는데 이건 메니저 아이디 중복을 잡아내는것이지 

메니저를 알수없는 사원을 거르는 역할을 하지 못해서 틀렸다.

수정한 답

일반 조건 where 절에서 manager_id가 null 이 아닌것만 이라는 조건을 넣어서 답을 찾았다. 

 

'DB > ORACLE' 카테고리의 다른 글

오라클 테이블 join (2)  (0) 2020.09.05
오라클 테이블 join (1)  (0) 2020.09.01
오라클 - 단일행 함수 (2)  (0) 2020.08.30
오라클 sql 활용문제  (0) 2020.08.25
오라클 - 단일행 함수 (1)  (0) 2020.08.21
Comments