Algorithm/leetCode

[세무민의 코딩일기] LeetCode Second Highest Salary 문제풀이

세기루민 2022. 1. 9. 23:29
728x90

오늘 포스팅 할 내용은 LeetCode 문제 중 하나인 Second Highest Salary 문제를 풀어봤습니다. 


1. 문제 설명 


2. 문제 예시 


3. 문제 풀이 

이번 문제는 말 그대로 2번째로 급여가 높은 사용자의 급여를 출력하면 되며

만약에 2번째로 높은 급여가 없는 경우 Null을 출력하면 된다.

위의 경우를 가장 쉽게 생각해보면 가장 Max의 값을 제외한 값이 2번째의 값이다. 

따라서 Max인 값을 제외하고 가장 첫번째의 값을 출력하면 된다. 

 

# Time : 482ms
SELECT max(salary) as SecondHighestSalary  
FROM Employee
where not salary = (select max(salary) from Employee)

# Time : 735ms
SELECT max(salary) as SecondHighestSalary  
FROM Employee
where salary not in (select max(salary) from Employee)

위의 설명대로 풀면 위와 같다. 

사실 in과 not 비교의 차이는 크게 없다. 


4. 결과

 


5. GitHub Code

 

GitHub - sg-moomin/algorithmStudy_CodingTest

Contribute to sg-moomin/algorithmStudy_CodingTest development by creating an account on GitHub.

github.com

GitHub에도 동일하게 코드를 올려놨습니다. 


이번 포스팅도 LeetCode에 있는 문제를 풀어봤습니다. 

요즘 쿼리 공부의 중요성을 조금 느껴서 계속 쿼리 공부를 하고 있는데 

한동안의 포스팅은 쿼리 공부로 찾아오도록 하겠습니다. 

 

728x90