문제
다음과 같은 테이블이 있을 때, SQL문의 실행 결과를 쓰시오.
[사원]
| 사번 | 이름 | 부서코드 |
|---|---|---|
| 1 | 김 | D1 |
| 2 | 이 | D2 |
| 3 | 박 | D1 |
| 4 | 최 | D3 |
[부서]
| 부서코드 | 부서명 |
|---|---|
| D1 | 개발 |
| D2 | 기획 |
| D3 | 인사 |
SQLSELECT B.부서명, COUNT(*) AS 인원 FROM 사원 A JOIN 부서 B ON A.부서코드 = B.부서코드 GROUP BY B.부서명 HAVING COUNT(*) >= 2;
정답
개발 2
개발2
해설
사원과 부서를 JOIN하면 D1(개발)에 2명, D2(기획)에 1명, D3(인사)에 1명이 된다. HAVING COUNT(*) >= 2 조건에 의해 개발 부서만 남으며 인원은 2이다.