반응형
오라클에서는 GROUP BY를 사용해서
테이블 내의 값을 그룹으로 묶을 수 있는데
위 스크린샷의 테이블에서
JOB별로 평균 SAL을 묶어서 조회를 하려고 한다
묶을 기준이 되는 컬럼을
GROUP BY 컬럼을 사용해서 묶게 되며
GROUP BY JOB으로 묶은 후에는
묶은 값을 기준으로만 가져올 수 있다
따라서 대부분은 묶은 후에
합계나 평균을 구하는 식으로 사용되게 된다
다음으로는 HAVING인데
GROUP BY를 사용해서 값을 묶은 뒤에는
묶은 내용에 WHERE을 사용할 수 없기 때문에
WHERE 대신 HAVING을 사용하게 되는데
GROUP BY 하단에
HAVING 조건
이런 식으로 사용하게 된다
위 예를 보면 묶은 내용 중에서
AVG(컬럼)이 > 2500인 내용만
가져온다는 내용이다
마지막으로 예제에 사용한 코드는 아래와 같다
SELECT AVG(SAL), JOB
FROM EMP
GROUP BY JOB -- JOB 기준으로 묶기
HAVING AVG(SAL) > 2500 -- AVG(SAL) > 2500 이상인 값만 가져오기
ORDER BY AVG(SAL) DESC -- AVG(SAL) 기준 내림차순 정렬
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 CONCAT, ||를 이용한 문자열 합치기 및 예제 (0) | 2020.03.30 |
---|---|
오라클 DISTINCT를 이용한 중복제거 예제 및 사용방법 (0) | 2020.03.28 |
오라클 SELECT 한 내용 INSERT 방법 (0) | 2020.03.24 |
오라클 LIKE를 이용한 특정 문자 포함 검색방법 (0) | 2020.03.24 |
오라클 alias 예제 및 사용방법 (0) | 2020.03.11 |
댓글