728x90

Employees 테이블에서 employee_id 가 짝수이거나 name이 M으로 시작하는 직원은 0의 bonus를 받고 그 외 직원은 salary의 100%를 보너스를 받도록 SQL을 작성하는 문제이다. (단 employee_id를 기준으로 정렬해야한다)
이 문제의 핵심은 IF 와 MOD(%)연산을 적절히 사용하는 것이다. 기존에 SELECT에서 단일 애트리뷰트만 조건없이 조회하였지만 SQL에 다양한 기능이 있는것을 알게 되었다.
select employee_id, if(employee_id % 2 = 0 or name like 'M%' ,0, salary) as bonus
from Employees
order by employee_id asc
반응형
'데이터베이스 > SQL' 카테고리의 다른 글
196. Delete Duplicate Emails (0) | 2022.12.05 |
---|---|
627. Swap Salary (0) | 2022.12.03 |
183. Customers Who Never Order (0) | 2022.11.30 |
584. Find Customer Referee (0) | 2022.11.30 |
1757. Recyclable and Low Fat Products (1) | 2022.11.30 |