
1. 각 직원의 이름, 부서, 월급, 그리고 그 직원이 속한 부서에서 가장 높은 월급을 받고 있는 직원의 이름과 월급을 조회하는 SQL 쿼리를 작성해주세요.
- Name, Department, Salary
- Max(Salary), GROUP BY Department, Name - Top_Earner
- Max(Salary), GROUP BY Department - Top_Salary
- ORDER BY Department DESC LIMIT - Top_Salary, Top_Earner
내 답 :
SELECT Name,
Department,
Salary,
Top_Earner,
Top_Salary
FROM Employees
(
SELECT Name Top_Earner,
Department,
Salary Top_Salary
FROM Employees
GROUP BY Department
ORDER BY DESC
LIMIT 1
) a ;
정답 :
SELECT
e1.Name,
e1.Department,
e1.Salary,
e2.Name AS Top_Earner,
e2.Salary AS Top_Salary
FROM
Employees e1
JOIN
Employees e2 ON e1.Department = e2.Department
WHERE
e2.Salary = (
SELECT MAX(Salary)
FROM Employees e3
WHERE e3.Department = e1.Department
);
2. 부서별로 평균 월급이 가장 높은 부서의 이름과 해당 부서의 평균 월급을 조회하는 SQL 쿼리를 작성해주세요.
- 부서별로 평균 월급 : AVG(Salary), GROUP BY Department, ORDER BY AVG(Salary) DESC, LIMIT 1
- Avg_Salary
내 답 :
SELECT Department,
AVG(Salary) Avg_Salary
FROM Employees
GROUP BY Department
ORDER BY Avg_Salary DESC
LIMIT 1 ;
정답 :
SELECT
Department,
AVG(Salary) AS Avg_Salary
FROM
Employees
GROUP BY
Department
HAVING
AVG(Salary) = (
SELECT MAX(Avg_Salary)
FROM
(SELECT AVG(Salary) AS Avg_Salary
FROM Employees
GROUP BY Department) AS subquery
);'SQL > 문제' 카테고리의 다른 글
| SQL | 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.12.23 |
|---|---|
| SQL | 달리기반 Lv4. 단골 고객님 찾기 (0) | 2024.12.23 |
| SQL | 달리기반 Lv3. 이용자의 포인트 조회하기 (1) | 2024.12.22 |
| SQL | 달리기반 Lv2. 날짜별 획득포인트 조회하기 (0) | 2024.12.22 |
| SQL | 달리기반 Lv1. 데이터 속 김서방 찾기 (1) | 2024.12.22 |