도토리 줍는 개발자 감자
LeetCode Oracle 176. Second Highest Salary(MAX) - jimoo 본문
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
반응형
'SQL공부' 카테고리의 다른 글
SQL Oracle ROWNUM=2 사용하는 방법 - jimoo (0) | 2021.10.08 |
---|---|
프로그래머스 GROUP BY입양 시각 구하기(1) Oracle - jimoo (0) | 2021.10.05 |
MAX, MIN, COUNT Oracle - jimoo (0) | 2021.10.01 |
프로그래머스 SELECT(WHERE) 아픈 동물 찾기 Oracle - jimoo (0) | 2021.09.30 |
프로그래머스 SELECT (ORDER BY) 모든 레코드 조회하기 Oracle - jimoo (0) | 2021.09.30 |
Comments