본문 바로가기

SQL

(SQL) - LeetCode (easy) 1873. Calculate Special Bonus

반응형

https://leetcode.com/problems/calculate-special-bonus/description/

여러 방법을 사용해본 문제였습니다.

📕 풀이방법

📔 정답 출력 | 반환

현재 employee_id가 홀수면서 M으로 시작하지 않은 경우 NULL이라면 0으로 바꿔주고 아니면 해당 값 그대로 select해 bonus라는 alias를 붙여 select해줍니다.


📕 Code

📔 MySQL

SELECT 
    employee_id,
    CASE 
        WHEN (SELECT e.salary 
              FROM employees e 
              WHERE e.employee_id = employees.employee_id 
                AND e.employee_id % 2 = 1 
                AND e.name NOT LIKE 'M%') IS NULL 
        THEN 0 
        ELSE (SELECT e.salary 
              FROM employees e 
              WHERE e.employee_id = employees.employee_id 
                AND e.employee_id % 2 = 1 
                AND e.name NOT LIKE 'M%')
    END AS bonus
FROM 
    employees
order by employee_id

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.