도토리 줍는 개발자 김지무

LeetCode Oracle 176. Second Highest Salary(MAX) - jimoo 본문

SQL공부

LeetCode Oracle 176. Second Highest Salary(MAX) - jimoo

지무 2021. 10. 8. 19:24
728x90
반응형

https://leetcode.com/problems/second-highest-salary/

 

Second Highest Salary - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

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
반응형
Comments