두 번째 최고 급여: 가장 간단한 SQL 쿼리가 종종 가장 현명한 이유
발행: (2026년 1월 13일 오후 06:51 GMT+9)
1 min read
원문: Dev.to
Source: Dev.to
문제와 샘플 데이터
employee 테이블이 주어집니다:
| id | name | salary | department_id |
|---|---|---|---|
| 1 | Ivan | 1000.1234 | 1 |
| 2 | Anna | 1500.1234 | 1 |
| 3 | Oleg | 2200.1234 | 2 |
| 4 | Maria | 2200.1234 | 2 |
| 5 | David | 2000.5678 | 2 |
예상 결과: 2000.5678
문제 설명: employee 테이블에서 두 번째로 높은 고유 급여를 찾으세요.
핵심 요구 사항: 고유 급여가 두 개 미만인 경우(예: 모든 직원이 같은 급여를 받는 경우) NULL을 반환합니다.
이것은 “두 번째 행”을 찾는 것이 아니라 두 번째로 높은 고유 값을 찾는 것입니다.
세 가지 일반적인 해결 방법 비교
방법 1: MAX() + 서브쿼리
SELECT MAX(salary)
FROM employee
WHERE salary