두 번째 최고 급여: 가장 간단한 SQL 쿼리가 종종 가장 현명한 이유

발행: (2026년 1월 13일 오후 06:51 GMT+9)
1 min read
원문: Dev.to

Source: Dev.to

문제와 샘플 데이터

employee 테이블이 주어집니다:

idnamesalarydepartment_id
1Ivan1000.12341
2Anna1500.12341
3Oleg2200.12342
4Maria2200.12342
5David2000.56782

예상 결과: 2000.5678

문제 설명: employee 테이블에서 두 번째로 높은 고유 급여를 찾으세요.

핵심 요구 사항: 고유 급여가 두 개 미만인 경우(예: 모든 직원이 같은 급여를 받는 경우) NULL을 반환합니다.

이것은 “두 번째 행”을 찾는 것이 아니라 두 번째로 높은 고유을 찾는 것입니다.

세 가지 일반적인 해결 방법 비교

방법 1: MAX() + 서브쿼리

SELECT MAX(salary)
FROM employee
WHERE salary
Back to Blog

관련 글

더 보기 »

LeetCode 1193 해결 방법

문제 설명 테이블 **Transactions**는 다음과 같은 열을 가지고 있습니다: - id (primary key) - country - state (enumeration: 'approved' 또는 'declined') - amount - trans…

LeetCode 586을 푸는 방법

문제 개요: 작업은 가장 많은 수량의 주문을 한 고객 번호를 식별하는 것입니다. Orders 테이블에는 두 개의 식별자 열이 포함되어 있습니다.

데이터베이스 트랜잭션 누수

소개 우리는 memory leaks에 대해 자주 이야기하지만, backend development에서 또 다른 조용한 성능 저해 요인이 있습니다: Database Transaction Leaks. 나는 최근에 ...