기출문제/정보처리기사

2018년 2회 정보처리기사 기출문제 13번

엉클지니 2025. 5. 28. 22:37

13. SQL 구문에서 “having” 절은 반드시 어떤 구문과 사용되어야 하는가?

    GROUP BY     ORDER BY

    UPDATE          JOIN

 

300x250

 

정보처리기사 시험을 준비하는 수험생에게 이 문제를 정확하고 쉽게 이해할 수 있도록 정리해드릴게요. 각 선택지를 비교하면서 HAVING 절이 어떤 상황에서 쓰이는지도 자세히 설명하겠습니다.


✅ 문제

13. SQL 구문에서 “HAVING” 절은 반드시 어떤 구문과 사용되어야 하는가?


🔍 핵심 개념: HAVING 절이란?

HAVING 절은 그룹화된 데이터에 조건을 걸 때 사용하는 절입니다.

  • WHERE 절은 개별 행(row)에 조건을 걸고,
  • HAVING 절은 GROUP BY로 그룹화된 집계 결과에 조건을 겁니다.

예를 들어, 부서별 평균 급여가 300만 원 이상인 부서만 보고 싶다면:

SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) >= 3000000;

🧠 꼭 기억해야 할 점:

  • HAVING은 **집계 함수(SUM, AVG, COUNT 등)**와 함께 사용됨
  • 반드시 GROUP BY와 함께 사용되어야 의미가 있음

📊 보기별 분석

보기 번호 구문 해설 정답 여부

GROUP BY ✅ HAVING은 그룹화된 결과에 조건을 거는 절로, GROUP BY 없이는 사용 의미 없음
ORDER BY ORDER BY는 결과 정렬용, HAVING과 직접적인 연관 없음
UPDATE UPDATE는 데이터 수정용, HAVING과는 무관
JOIN JOIN은 테이블 연결, HAVING과 직접적인 관련은 없음

✅ 정답: ❶ GROUP BY


📌 요약 노트

절 사용 시기 조건 적용 대상

WHERE 그룹화 전 개별 행 (row)
GROUP BY 행들을 그룹화할 때 그룹핑 기준 컬럼
HAVING 그룹화된 데이터에 조건 집계 결과 (AVG, SUM 등)

🎓 기억하기 쉬운 예시

SELECT 부서, AVG(급여)
FROM 직원
GROUP BY 부서
HAVING AVG(급여) > 300만;

💬 "그룹을 만든 다음(HAVING), 조건을 걸어야지!"