안녕하세요, HELLO
오늘은 Leetcode 알고리즘 문제 '176. Second Highest Salary'에 대해서 살펴보고자 합니다.
알고리즘 문제, 코드, 해설 그리고 Leetcode에서 제공해준 solution 순서대로 정리하였습니다.
STEP 1. 'Second Highest Salary' 알고리즘 문제
STEP 2. 'Second Highest Salary' 코드(code)
STEP 3. 'Second Highest Salary' 해설
STEP 4. 'Second Highest Salary' solution
STEP 1. 'Second Highest Salary' 알고리즘 문제
Write an SQL query to report the second highest salary from the Employee table. If there is no second highest salary, the query should report null.
Employee 테이블에서 2번째로 큰 연봉을 반환하는 sql 쿼리를 작성해야 합니다. 만약에 2번째로 큰 연봉이 없을 경우에는 null을 반환합니다.
The query result format is in the following example.
STEP 2. 'Second Highest Salary' 코드(code)
■ Runtime: 251 ms, faster than 62.93% of MySQL online submissions for Second Highest Salary.
■ Memory Usage: 0B, less than 100.00% of MySQL online submissions for Second Highest Salary.
# case 1
# Compare 2 tables
SELECT max(E2.salary) as 'SecondHighestSalary'
FROM Employee as E1, Employee as E2
WHERE E1.salary > E2.salary
STEP 3. 'Second Highest Salary' 해설
2번째로 큰 salary를 확인해야 되는 문제이기에, 2개의 테이블로 비교해서 계산했습니다.
만약에 3번째, 4번째로 큰 수치를 확인해야 된다면, 테이블을 3개, 4개로 늘려서 연산할 생각입니다.
STEP 4. 'Second Highest Salary' solution
추가적으로, Leetcode에서 제공해준 solution 코드를 살펴보겠습니다.
■ Runtime: 201 ms, faster than 89.33% of MySQL online submissions for Second Highest Salary.
■ Memory Usage: 0B, less than 100.00% of MySQL online submissions for Second Highest Salary.
# case 2
# Compare criteria
SELECT max(E.salary) as 'SecondHighestSalary'
FROM Employee as E
WHERE E.salary <
(SELECT max(salary)
FROM Employee)
■ 마무리
오늘은 Leetcode 알고리즘 문제 '176. Second Highest Salary'에 대해서 알아봤습니다.
좋아요와 댓글 부탁드리며,
오늘 하루도 즐거운 날 되시길 기도하겠습니다 :)
감사합니다.
'PROGRAMMING > LeetCode' 카테고리의 다른 글
[Leetcode] 178. Rank Scores_해설, 풀이, 설명 (0) | 2022.08.21 |
---|---|
[Leetcode] 177. Nth Highest Salary_해설, 풀이, 설명 (3) | 2022.08.20 |
[Leetcode] 175. Combine Two Tables_해설, 풀이, 설명 (0) | 2022.08.15 |
[Leetcode] 22. Generate Parentheses_해설, 풀이, 설명 (0) | 2022.07.03 |
[Leetcode] 21. Merge Two Sorted Lists_해설, 풀이, 설명 (0) | 2022.07.03 |
댓글