⇒ 예제1
SELECT DEPARTMENT_ID AS "부서", COUNT(EMPLOYEE_ID) "부서별 인원수"
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
ORDER BY DEPARTMENT_ID ASC;
⇒ 예제2
SELECT DEPARTMENT_ID AS "부서번호"
,COUNT(EMPLOYEE_ID) "인원수"
,AVG(SALARY) "급여 평균"
,SUM(SALARY) "급여 합"
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
ORDER BY DEPARTMENT_ID ASC;
⇒ 예제3
SELECT JOB_ID "업무"
,COUNT(EMPLOYEE_ID) "인원수"
,AVG(SALARY) "평균 급여액"
,MAX(SALARY) "최고 급여액"
,MIN(SALARY) "최저 급여액"
,SUM(SALARY) "금여 합계"
FROM EMPLOYEES
GROUP BY JOB_ID
ORDER BY JOB_ID ASC;
⇒ 예제1
SELECT DEPARTMENT_ID "부서"
,COUNT(EMPLOYEE_ID) "사원수"
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
HAVING COUNT(EMPLOYEE_ID) >= 5
ORDER BY DEPARTMENT_ID ASC;
⇒ 예제2
SELECT JOB_ID "직무"
,SUM(SALARY) "월급여 합계"
FROM EMPLOYEES
WHERE JOB_ID != 'ST_CLERK'
GROUP BY JOB_ID
HAVING SUM(SALARY) >= 5000
ORDER BY SUM(SALARY) DESC;
SQL 관련 코딩 테스트 준비를 할 때부터 GROUP BY절과 HAVING절을 많이 사용해봐서 어려운 개념은 아니었다. 오랜만에 새로운 것이 아닌 기존에 알던 것을 공부하게 되다 보니 자신감이 생겼던 것 같다.
그래도 좋았던 점은, 코테 때보다 지금이 쿼리 실력이 올라갔다는 것? 코테 당시에는 GROUP BY에 무엇을 쓰고, HAVING에서는 어떤 것을 써야 하는지 한 5~10분 정도 시간이 걸렸었다. 하지만, 지금은 1분도 채 안되서 어느 절에 어떤 것을 써야 하는지 알고 있다!