반응형

문제 출처 :


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


문제 해결에 필요한 사항

1. IFNULL

2. LIMIT A OFFSET B

3. ORDER BY


IFNULL(A,B)는 A에서 값이 존재하면 A에 있던 값을, 그게 아니라면 B로 설정한 값을 받아낸다.

이때 아래 쿼리문에서는 B에는 NULL을 두고있다.


LIMIT A OFFSET B는 LIMIT A, B로 나타낼 수 있고 A번째까지를 제외하고 A+1 ~ A+B번째까지 출력해준다.






소스 코드 : 


1
2
3
4
5
6
7
SELECT
    IFNULL(
        (SELECT DISTINCT Salary FROM Employee 
         ORDER BY Salary DESC
         LIMIT 11), 
        NULL
    ) AS SecondHighestSalary
cs


반응형

'Applied > Database' 카테고리의 다른 글

[177번] Nth Highest Salary  (0) 2019.06.10
[183번] Customers Who Never Order  (0) 2019.06.06
[182번] Duplicate Emails  (0) 2019.05.30
[181번] Employees Earning More Than Their Managers  (0) 2019.05.24
[180번] Consecutive Numbers  (0) 2019.05.16