그룹함수 : Part 3
1. HAVING()
- 행(row) 데이터에서 필터링을 할 때는 WHERE()를 사용했지만,
- 집계된 결과에서 다시 필터링을 하려면 HAVING()을 사용한다.

- GROUP BY()로 집계 된 id의 건수에서 5초과인 값을 추출한다
- 순서는 GROUP BY() 다음에 위치한다.(순서는 꼭 지켜야 한다.)
1-1. 연습문제
SELECT : 5번 화면에 표시할 열을 지정한다.
FROM : 1번 테이블을 불러온다
WHERE : 2번 테이블에서 행기준으로 필터링을 한다.
GROUP BY : 3번 그룹으로 묶을 열을 지정한다.
HAVING : 4번 추가로 집계 조건을 적용한다.
ORDER BY : 6번 나열 순서를 정한다.

- WHERE()에서는 department_id기준으로 40, 50, 50인 행만 필터링 한 후,
- GROUP BY()에서 job_id기준으로 묶는다.
- 그다음 HAVING()을 이용하여 평균 급여가 5000이상인 사람만 필터링 한다.
2. 총합계 : ROLLUP()
- 먼저 데이터를 정리한다.

- null값을 '대기'로 바꿔준다.
- SELECT()에서 컬럼을 수정해야 한다면, SELECT()보다 이전에 실행되는 GROUP BY()도 같이 수정이 되야 한다.
- GROUP BY()에서 집계한 후 SELECT()에서 그대로 표시해주기 때문이다.
- ROLLUP()은 GROUP BY() 안에서 사용 가능하다.

- ROLLUP()은 GROUP BY()로 집계가 끝난 후, 합계를 만들어주기 때문에 제어가 필요하다면 SELECT()에서 한다
19일차 인증!


'클래스 리뷰 > 22.05 빡공단 SQL 강의' 카테고리의 다른 글
빡공단 22기 도전기 - SQL 공공데이터 실습 (21일차) (0) | 2022.12.07 |
---|---|
빡공단 22기 도전기 - SQL 복합 함수 (20일차) (0) | 2022.11.30 |
빡공단 22기 도전기 - SQL 그룹함수2 (18일차) (0) | 2022.11.30 |
빡공단 22기 도전기 - SQL 그룹함수1 (17일차) (0) | 2022.11.30 |
빡공단 22기 도전기 - SQL 작성 방법 및 유의사항 (16일차) (0) | 2022.11.30 |
댓글