SQLDSQL 활용HAVING ALL난이도 4MCQ

SQLD HAVING ALL 기출문제 #3733

문제

부서별 평균 급여보다 높은 최대 급여를 가진 부서를 찾으려 한다. 모든 부서의 평균 급여보다 최대 급여가 큰 부서를 찾는 HAVING 절로 가장 적절한 것은?

① HAVING MAX(SAL) > ANY (SELECT AVG(SAL) FROM EMP GROUP BY DEPTNO) ② HAVING AVG(SAL) > ANY (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO) ③ HAVING MAX(SAL) > ALL (SELECT AVG(SAL) FROM EMP GROUP BY DEPTNO) ④ HAVING AVG(SAL) > ALL (SELECT AVG(SAL) FROM EMP GROUP BY DEPTNO)

정답

3

해설

정답: 3. 모든 부서의 평균 급여보다 큰 최대 급여를 찾으려면 MAX(SAL) > ALL(부서별 평균 급여)을 사용한다.

오답 풀이

  • 1번: ANY는 하나의 평균 급여보다만 크면 되므로 조건이 약하다.
  • 2번: 평균 급여를 최대 급여와 비교하고 있어 의도와 다르다.
  • 3번: 모든 평균 급여보다 최대 급여가 큰 조건이다.
  • 4번: 평균 급여끼리 비교하는 조건으로 문제 의도와 다르다.

보충 개념 ALL은 서브쿼리 결과 전체와 비교할 때 사용한다. 그룹 조건에는 WHERE가 아니라 HAVING을 사용해야 한다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] HAVING ALL SQL 활용 기출 #3733 | 문어CBT