문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
Table: Employees
| Column Name | Type |
|---|---|
| employee_id | int |
| name | varchar |
| salary | int |
employee_id는 이 테이블에 대한 기본 키이다.
각 행은 직원 ID, 직원 이름, 급여를 나타낸다.
각 직원의 보너스를 계산하는 방법을 작성해라. 직원의 ID가 홀수이고, 직원의 이름이 'M'으로 시작하지 않으면 직원의 보너스는 100%이다. 그렇지 않으면 0이다.
Input:
Employees table:
| employee_id | name | salary |
|---|---|---|
| 2 | Meir | 3000 |
| 3 | Michael | 3800 |
| 7 | Addilyn | 7400 |
| 8 | Juan | 6100 |
| 9 | Kannon | 7700 |
Output:
| employee_id | bonus |
|---|---|
| 2 | 0 |
| 3 | 0 |
| 7 | 7400 |
| 8 | 0 |
| 9 | 7700 |
Explanation:
ID가 2와 8인 직원은 보너스가 0이고, employee_id가 짝수이다.
ID가 3인 직원은 보너스가 0이고, 이름이 'M'으로 시작한다.
나머지 직원은 보너스가 100%이다.
-- Write your PostgreSQL query statement below
select employee_id,
case when left(name, 1) != 'M' and employee_id % 2 = 1 then salary
else 0
end as bonus
from employees
order by employee_id