SQL공부
LeetCode Oracle 176. Second Highest Salary(MAX) - jimoo
감._.자
2021. 10. 8. 19:24
728x90
반응형
https://leetcode.com/problems/second-highest-salary/
2번째로 높은 Salary 값을 출력하는 문제이다! 그리고 두 번째 높은 salary 값이 없을 경우 null로 출력해야한다.
1. 서브 쿼리문을 통해서 가장 높은 Salary 값을 얻어온다. ( (SELECT MAX(Salary) FROM Employee) 부분)
2. 가장 높은 Salary 보다 작은 salary값을 WHERE 절을 통해 얻어온다.
3. 작은 salary 값들 중 가장 MAX값이 두 번째로 높은 salary 값이다.
그러면 두번째 높은 salary가 없을 경우 어떻게 null 로 처리할까?
MAX 함수에서 자동으로 처리가 된다!
그 이유는 MAX() 함수는 가져올 값이 없을 경우 자동으로 null로 처리해주기때문이다~~~~~!
정답
SELECT MAX(Salary) AS "SecondHighestSalary"
FROM Employee
WHERE Salary < (SELECT MAX(Salary)
FROM Employee)
728x90
반응형