상세 컨텐츠

본문 제목

Swap Salary(LeetCode)

SQL/MySQL 문제풀이

by 관재탑 2022. 8. 2. 20:53

본문

https://leetcode.com/problems/swap-salary/

 

Swap Salary - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

 

문제

Table: Salary

+-------------+----------+
| Column Name | Type     |
+-------------+----------+
| id          | int      |
| name        | varchar  |
| sex         | ENUM     |
| salary      | int      |
+-------------+----------+
id is the primary key for this table.
The sex column is ENUM value of type ('m', 'f').
The table contains information about an employee.

 

Write an SQL query to swap all 'f' and 'm' values (i.e., change all 'f' values to 'm' and vice versa) with a single update statement and no intermediate temporary tables.

Note that you must write a single update statement, do not write any select statement for this problem.

The query result format is in the following example.

 

Example 1:

Input: 
Salary table:
+----+------+-----+--------+
| id | name | sex | salary |
+----+------+-----+--------+
| 1  | A    | m   | 2500   |
| 2  | B    | f   | 1500   |
| 3  | C    | m   | 5500   |
| 4  | D    | f   | 500    |
+----+------+-----+--------+
Output: 
+----+------+-----+--------+
| id | name | sex | salary |
+----+------+-----+--------+
| 1  | A    | f   | 2500   |
| 2  | B    | m   | 1500   |
| 3  | C    | f   | 5500   |
| 4  | D    | m   | 500    |
+----+------+-----+--------+
Explanation: 
(1, A) and (3, C) were changed from 'm' to 'f'.
(2, B) and (4, D) were changed from 'f' to 'm'.

 

 

정답쿼리

UPDATE salary
SET sex = CASE WHEN sex = 'f' THEN 'm' ELSE 'f' END

 

 

해설

UPDATE 테이블명
SET 컬럼명 = CASE
                 WHEN 조건 THEN 값
                 WHEN 조건 THEN 값
             ELSE 값
             END

'SQL > MySQL 문제풀이' 카테고리의 다른 글

Department Highest Salary(Leet Code)  (0) 2022.08.05
Delete Duplicate Emails(Leet Code)  (0) 2022.08.02
Duplicate Emails(LeetCode)  (0) 2022.07.30
Symmetric Pairs(HackerRank)  (0) 2022.07.20
Rising Temperature(LeetCode)  (0) 2022.07.20

관련글 더보기

댓글 영역