176. Second Highest Salary : leetcode

오유찬·2026년 1월 15일

SQL

목록 보기
49/71

값이 없으면 null을 반환해라.

  • left join 해서 null이 나오도록 하는 방법
    → 조인을 굳이 하지 않아도 되는 테이블에서 null 나오게 하겠다고 조인 해버리면 메모리 낭비기 때문에 다른 방법 고안 필요

  • 집계 함수 사용 → 입력 데이터가 없으면 자동으로 NULL을 반환

SELECT	MAX(salary)
FROM	employee
WHERE	salary < (SELECT MAX(salary) FROM employee)
  • Scalar Subquery 사용 - 전체 쿼리를 SELECT 절 안에 넣는 방법으로 결과값이 없으면 NULL로 채워진다.
SELECT
(
    SELECT  DISTINCT salary
FROM    (
    SELECT  salary, 
            DENSE_RANK() OVER(ORDER BY salary DESC) as rnk
    FROM    employee
) as salary_rnk
WHERE   rnk = 2
)  as SecondHighestSalary
profile
열심히 하면 재밌다

0개의 댓글