본문 바로가기

SQL 공부

LeetCode 로 공부하기 672. Swap Salary

728x90

Table: Salary

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

 

Write a solution 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 result format is in the following example.

 

문제: sex열에 있는 'm', 'f'를 'f', 'm'으로 바꿔라

 

update salary set sex = case                   
                                            when sex = 'm' then 'f'                   
                                            when sex = 'f' then 'm'               
                                      end

 

| id | name | sex | salary |

| -- | ---- | --- | ------ |

| 1 | A | f | 2500 |

| 2 | B | m | 1500 |

| 3 | C | f | 5500 |

| 4 | D | m | 500 |

 
 
| id | name | sex | salary | | -- | ---- | --- | ------ | | 1 | A | f | 2500 | | 2 | B | m | 1500 | | 3 | C | f | 5500 | | 4 | D | m | 50