7장. GROUP BY·HAVING·ORDER BY
SQLD (SQL 개발자) 필기 개념서 · 2과목. SQL 기본과 활용 · 절 5개
이 장에서 배우는 것
7-1. 집계 함수
AVG(커미션) = 800 / 3 (NULL이 아닌 3행), AVG(NVL(커미션, 0)) = 800 / 7. 0은 NULL이 아니므로 정도윤의 0은 분모에 포함된다.
7-2. GROUP BY
SELECT 절에는 GROUP BY에 쓴 칼럼과 집계 함수만 올 수 있다. SELECT 부서코드, 이름 … GROUP BY 부서코드는 오류.
7-3. HAVING과 WHERE
WHERE를 빼면 D20은 3명이 되어 평균이 2833.33…이 된다. WHERE로 먼저 거른 행은 집계에 들어가지 않는다.
7-4. ORDER BY
기본은 ASC(오름차순). 여러 정렬 키는 앞의 키가 같을 때 다음 키로 정렬한다.
7-5. SELECT 문장 실행 순서
실행 순서 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. ORDER BY는 항상 마지막에 1번 쓴다.