SQL 응용난도 중상
18번 · 주관식 · 5점
다음 두 테이블에서 DEPT.dept_id, EMPLOYEE.dep_id와 DEPT.budget은 모두 NOT NULL이다. SQL을 실행했을 때 결과 한 행에 표시되는 값을 쓰시오.
| dept_id | budget |
|---|---|
| D1 | 90 |
| D2 | 150 |
| D3 | 210 |
| employee_id | dep_id |
|---|---|
| E1 | D1 |
| E2 | D1 |
| E3 | D2 |
| E4 | D3 |
| E5 | D3 |
WITH BUDGET_BASE AS (
SELECT AVG(budget) AS avg_budget
FROM DEPT
)
SELECT COUNT(e.employee_id)
FROM DEPT d
JOIN EMPLOYEE e ON e.dep_id = d.dept_id
CROSS JOIN BUDGET_BASE b
WHERE d.budget > b.avg_budget;