3. [예시문제] 다음 SQL 질의문에 대한 설명으로 가장 적절한 것은? SELECT 부서명, COUNT(사원번호) AS 사원수 FROM 사원테이블 WHERE 직급 = '대리' GROUP BY 부서명 HAVING COUNT(사원번호) >= 2;
- 전체 사원 중 직급이 '대리'인 사원들의 수를 부서별로 집계하고, 그 수가 2명 이상인 부서만 조회한다.
- 각 부서의 사원 수를 세어 2명 이상인 부서만 조회하며, 그 중 직급이 '대리'인 사원만 카운트한다.
- 직급이 '대리'인 사원들 중에서 사원 수가 2명 이상인 부서의 정보만 보여준다.
- 직급이 '대리'인 사원만을 대상으로 하며, 부서별 사원 수가 2명 이상인 경우에만 해당 부서명과 전체 사원 수를 출력한다.
정답: 1번
SQL 질의문은 FROM, WHERE, GROUP BY, HAVING, SELECT 순서로 논리적으로 처리됩니다. 먼저 'FROM 사원테이블'에서 데이터를 가져오고, 'WHERE 직급 = '대리'' 조건으로 '대리' 직급 사원만 필터링합니다. 이 필터링된 사원들을 'GROUP BY 부서명'으로 부서별로 그룹화한 후, 'HAVING COUNT(사원번호) >= 2' 조건으로 그룹별 사원 수가 2명 이상인 그룹만 선택합니다. 마지막으로 선택된 그룹의 '부서명'과 '사원수'를 'SELECT'하여 출력합니다. 따라서 1번 보기가 가장 정확한 설명입니다.