다음 SQL 의 실행 결과로 옳은 것은?[계약]계약번호설계사월보험료1한… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
다음 SQL 의 실행 결과로 옳은 것은?

[계약]

계약번호설계사월보험료
1한결60
2한결40
3한결100
4서윤70
5서윤80
6지호30
7지호150
8태오50
9태오120
10서윤45
SELECT 설계사, SUM(월보험료) AS 합계, COUNT(*) AS 건수
  FROM 계약
 WHERE 월보험료 >= 50
 GROUP BY 설계사
HAVING COUNT(*) >= 2
 ORDER BY 합계 DESC;
1
설계사합계건수
서윤1502
한결1602
태오1702
2
설계사합계건수
태오1702
한결1603
서윤1503
3
설계사합계건수
태오1702
한결1602
서윤1502
4
설계사합계건수
태오1702
한결1602
서윤1502
지호1501
해설

WHERE 가 그룹화보다 먼저 실행되어 50 미만인 계약 2·6·10번이 빠진 뒤 집계되므로 태오 170·한결 160·서윤 150(각 2건)이 남는다.

지호는 남은 행이 1건이라 HAVING 에서 제외되고, ORDER BY 는 SELECT 다음에 처리되어 별칭 합계로 내림차순 정렬된다.

  • 지호 행이 남은 표는 HAVING 조건을 적용하지 않은 결과다.
  • 건수가 3인 표는 WHERE 이전 행으로 COUNT 를 센 결과다.
  • 서윤부터 나온 표는 정렬 방향이 오름차순으로 뒤집혔다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 10회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기