반응형
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
LeetCode 176 Second Highest Salary 문제는
Employee 테이블에서
2번째로 큰 값을 가져오라는건데
2번째로 큰 값이 없을 경우에는
null 값을 나오게 하면 된다
근데 문제는
NVL을 써서 null을 주면 안되고
'null'도 안된다
허허..
MAX(값)을 사용할 경우
값이 없을 경우에 null이 나오게 되므로
무조건 MAX를 사용해야 한다
풀이방법은 아래와 같은데
WHERE 절에서 최대값을 구한 뒤
NOT IN안에 넣어 해당 값을 제외하고 난 뒤
최대값을 구하면 2번째 최대값을 구할 수 있고
2번째 최대값이 없다면
null이 나오게 된다
사용한 코드는 아래를 참고해주면 된다
SELECT MAX(SALARY) AS SecondHighestSalary
FROM EMPLOYEE
WHERE SALARY NOT IN(SELECT MAX(SALARY) FROM EMPLOYEE)
-- 최대값 제외하고 차순위 값이 2위, 없을 경우에는 NULL
반응형
'SQL > 문제풀이' 카테고리의 다른 글
LeetCode 175. Combine Two Tables 오라클 풀이글 (0) | 2020.06.08 |
---|---|
프로그래머스 DATETIME에서 DATE로 형 변환 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 오랜 기간 보호한 동물(2) 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 중성화 여부 파악하기 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 NULL 처리하기 풀이(MySQL) (0) | 2019.09.09 |
댓글